我正在生成一个表并使用jQuery添加一些字段:
$('tr[id^="id-"]').prepend("<td><!-- generated by js admin/index.php #498 --><input type='checkbox' name='"+$(this).id+"' id='' class='checkbos_gruppe' /></td>");
Run Code Online (Sandbox Code Playgroud)
这部分导致了问题:
name='"+$(this).id+"'
Run Code Online (Sandbox Code Playgroud)
我想创建一个名称为父元素的元素,所以只需要获取tr
元素的id .
谁都有更好的主意?
.id
是一个DOM属性,所以应该只是:
this.id
Run Code Online (Sandbox Code Playgroud)
..而$(this).id
不是,因为它不是jQuery对象的属性.
但是,this
仍然不希望你想要,它是你所处的任何环境,它应该是一个.prepend()
像这样的功能:
$('tr[id^="id-"]').prepend(function() {
return "<td><!-- generated by js admin/index.php #498 --><input type='checkbox' name='"+this.id+"' class='checkbos_gruppe' /></td>";
});
Run Code Online (Sandbox Code Playgroud)
...或者在旧版本的jQuery中使用a .each()
代替:
$('tr[id^="id-"]').each(function() {
$(this).prepend("<td><!-- generated by js admin/index.php #498 --><input type='checkbox' name='"+this.id+"' class='checkbos_gruppe' /></td>");
});
Run Code Online (Sandbox Code Playgroud)