感谢您的阅读 如果我们有: var letters ='a b c h'; // ...
我们怎样才能得到这个结果:
<div class="box">
<div class="letter">a</div>
<div class="letter">b</div>
<div class="letter">c</div>
<div class="letter">h</div>
<!-- ... -->
</div>
(在DOM准备中)类似于:
var letters = 'a b c h k w x'; // 7 letters (can be more...)
var char = letters.split(' ');
var nOfChars = char.length;
var divLetter = $('<div class="letter" />');
for(var char = 0; char < nOfChars; ++char) {
$('.box').append( divLetter );
$('divLetter').html( char );
}
(远非好,我知道。请帮忙)
答案 0 :(得分:1)
var letters = 'a b c h';
// don't know if you want to append to body or now, but you can fool with
// the placement of the "Wrapper" div here.
var divLetter = $('<div>',{ class: 'letter'}).appendTo('body');
$.each(letters.split(' '),function(i,e){
$('<div>',{
class: 'letter',
html: e
}).appendTo(divLetter);
});
细分,以下是:
.appendTo
将它附加到DOM。你可以把它放在任何地方,或者在页面上已经有div - 由你决定。.each()
方法应用于String.split
的结果(产生一个字母数组)。然后每个开始迭代每个独特的字母
appendTo
将其附加到原始div 所有说完了,我们得到了你正在寻找的结果。
答案 1 :(得分:1)
var string = "a b c d";
var parts = string.split(" ");
for(key=0;key < parts.length;key++)
{
$(".box").append($("<div>").addClass("letter").html(parts[key]));
}
答案 2 :(得分:1)
试试这个:
http://jsfiddle.net/sexDH/(哈哈)
var letters = 'a b c h k w x', // 7 letters (can be more...)
chars = letters.split(' '),
nOfChars = chars.length,
$divLetter = $('<div class="letter" />'),
letterFragment = document.createDocumentFragment();
for (var i=0; i<nOfChars; i++) {
letterFragment.appendChild( $divLetter.clone().html(chars[i])[0] );
}
$('.box').append( letterFragment.cloneNode(true) );