我正在尝试将属性传递给jquery追加函数。它附加html但不附加属性。控制台中也没有显示错误。 Html代码:
<li>First Item</li>
<li>Second Item</li>
Javascript代码:
$('li').each(function(){
$(this).append('<span></span>', {
text: 'some text',
class: 'someClass'
})
});
我希望HTML看起来像
<li>First Item <span class="someClass">some text</span></li>
<li>Second Item Item <span class="someClass">some text</span></li>
答案 0 :(得分:12)
.append()
是一种方法,而不是element object
$('li').each(function(){
$('<span />', {
'class' : 'someClass',
text : 'some text',
appendTo : this
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>First Item</li>
<li>Second Item</li>
</ul>
答案 1 :(得分:1)
试试这个:
$('li').each(function(){
$('<span/>',{
text: 'some text',
class: 'someClass'
}).appendTo(this);
});
答案 2 :(得分:0)
你可以做到
$(this).append('<span class="someClass">some text</span>');
答案 3 :(得分:0)
append的第二个参数是(我引用jQuery文档):
要在匹配元素集中的每个元素末尾插入的一个或多个其他DOM元素,元素数组,HTML字符串或jQuery对象。