前置元素并向其添加功能

时间:2016-01-03 20:56:05

标签: jquery

如何使函数处理前置元素?对不起,如果问题听起来不对现在我使用这段代码:

function listOfProduct() {
    $('.list-of-product li').prepend('<input type="checkbox" name="list-of-product"><label class="list-of-product-element"></label>');
    $('.list-of-product li').each(function (i) {
        i++ ;
        $(this).prev('input').attr('id', 'list-of-product-' + i);
        $(this).prop('for', 'list-of-product-' + i);
    });
}

我在<li>中添加prepend()这些元素,之后我想要动态地添加特定属性。现在它不起作用。谁能解释我为什么?

2 个答案:

答案 0 :(得分:1)

<input>以前的元素不能<li> ...他们是<li>

的孩子

尝试:

$('.list-of-product li').each(function (i) {
        i++ ;
        $(this).find('input').attr('id', 'list-of-product-' + i);
        $(this).find('label').prop('for', 'list-of-product-' + i);
});

答案 1 :(得分:1)

我相信,在第二个问题中,您需要使用^{pageBody pageHeader} ,因为$('.list-of-product li label')适用于for。而且,标签的前一个是<label>

试试这个:

<input />