将属性传递给Jquery中的附加函数不起作用

时间:2013-03-31 10:39:48

标签: javascript jquery

我正在尝试将属性传递给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>

4 个答案:

答案 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对象。