这里我有jQuery动态生成的HTML标签说..
<tr id="CustomerScreen" class="rows"></tr>
<tr id="TraderScreen" class="rows"></tr>
<tr id="DistributorScreen" class="rows"></tr>
Run Code Online (Sandbox Code Playgroud)
我将所有动态创建的表行类名设置为行,然后我想使用类名循环它并使用每个获取特定行的id.但我无法得到这样的,这是我尝试过的..
$('.rows').each(function () {
var ar = this.id;
Run Code Online (Sandbox Code Playgroud)
有解决方案吗
T.J*_*der 11
您的代码是正确的(假设a });),前提是运行它时元素存在.在循环中,ar将接收"CustomerScreen",然后"TraderScreen",然后"DistributorScreen".
请注意上面的附带条件.例如,这将按id顺序显示这三个值:
<table>
<tbody>
<tr id="CustomerScreen" class="rows"></tr>
<tr id="TraderScreen" class="rows"></tr>
<tr id="DistributorScreen" class="rows"></tr>
</tbody>
</table>
<script>
$('.rows').each(function () {
var ar = this.id;
console.log(ar);
});
</script>
Run Code Online (Sandbox Code Playgroud)
...因为脚本位于文档中的元素之后.
相反,这将不会显示任何内容:
<script>
$('.rows').each(function () {
var ar = this.id;
console.log(ar);
});
</script>
<table>
<tbody>
<tr id="CustomerScreen" class="rows"></tr>
<tr id="TraderScreen" class="rows"></tr>
<tr id="DistributorScreen" class="rows"></tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
...因为脚本位于元素之上,并且在运行时它们还不存在.
这是将脚本放在文档末尾的最佳实践的原因之一,就在结束</body>标记之前.或者,如果您必须将脚本放在元素上方,则可以使用jQuery ready事件:
<script>
$(function() {
$('.rows').each(function () {
var ar = this.id;
console.log(ar);
});
});
</script>
<table>
<tbody>
<tr id="CustomerScreen" class="rows"></tr>
<tr id="TraderScreen" class="rows"></tr>
<tr id="DistributorScreen" class="rows"></tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
在加载DOM之后,jQuery将运行该函数.但这确实适用于库代码; 对于您自己的页面代码,只需将脚本放在最后.
| 归档时间: |
|
| 查看次数: |
19740 次 |
| 最近记录: |