如何使函数处理前置元素?对不起,如果问题听起来不对现在我使用这段代码:
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()
这些元素,之后我想要动态地添加特定属性。现在它不起作用。谁能解释我为什么?
答案 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 />