为所有子元素提供类
Give all child elements classes
本文关键字:元素 更新时间:2023-09-26
我试图为每个组给子元素一个类。因此,每个组的孩子将为每个组具有相同的类,并且每个元素应该具有不同的类。
这是我到目前为止得到的:
var $span = $("tr.keep td");
$span.attr('id', function (index) {
return 'td' + index;
});
问题是我有多个同一父级的组 - 此脚本通过所有组运行,而不是为每个组重复该类。我如何在此脚本上广告类似 .each 的内容,还是更好的方法?
.HTML:
<tr class="keep">
<tr class="test">
<td rowspan="2"><a href="/"><img src="/" alt=""></a></td>
<td colspan="3"><a href="/">text</a></td>
</tr>
<tr class="test">
<td>MF216N/A</td>
<td>Apple</td>
<td class="outofstock">0</td>
<td>1 054,24SEK</td>
<td><input type="button" class="actionbutton" value="Köp" onclick="buy(this, 65360, null, null,null, '/ajax/buy')"></td>
</tr>
</tr>
<tr class="keep">
<tr class="test">
<td rowspan="2"><a href="/"><img src="/" alt=""></a></td>
<td colspan="3"><a href="/">text</a></td>
</tr>
<tr class="test">
<td>MF216N/A</td>
<td>Apple</td>
<td class="outofstock">0</td>
<td>1 054,24SEK</td>
<td><input type="button" class="actionbutton" value="Köp" onclick="buy(this, 65360, null, null,null, '/ajax/buy')"></td>
</tr>
</tr>
使用tr.test
选择器选择所有tr
类为.test
元素。使用 .each
迭代此选定元素,并查找td
元素,这些元素是selected-tr
元素的子元素。循环遍历td
元素并使用.addClass
考虑索引添加类。
注: tr
元素不能将tr
作为其子元素。那将是invalid-markup
var $span = $("tr.test");
$span.each(function(i, elem) {
$(elem).find('td').each(function(index) {
$(this).addClass(function() {
return 'td_' + (index + 1);
});
});
});
.td_1 {
background: yellow;
}
.td_2 {
background: green;
}
.td_3 {
background: pink;
}
.td_4 {
background: orange;
}
.td_5 {
background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
<tr class="keep">
<td rowspan="2">
<a href="/">
<img src="/" alt="">
</a>
</td>
<td colspan="3"><a href="/">text</a>
</td>
</tr>
<tr class="test">
<td>MF216N/A</td>
<td>Apple</td>
<td class="outofstock">0</td>
<td>1 054,24SEK</td>
<td>
<input type="button" class="actionbutton" value="Köp" onclick="buy(this, 65360, null, null,null, '/ajax/buy')">
</td>
</tr>
<tr class="keep">
<td rowspan="2">
<a href="/">
<img src="/" alt="">
</a>
</td>
<td colspan="3"><a href="/">text</a>
</td>
</tr>
<tr class="test">
<td>MF216N/A</td>
<td>Apple</td>
<td class="outofstock">0</td>
<td>1 054,24SEK</td>
<td>
<input type="button" class="actionbutton" value="Köp" onclick="buy(this, 65360, null, null,null, '/ajax/buy')">
</td>
</tr>
</table>
小提琴演示
用户可以使用父元素索引为每个子元素添加唯一ID
$("tr.keep").each(function (parentIndex) {
$(this).find('td').each(function (childIndex) {
$(this).attr('id', parentIndex + '' + childIndex)
})
});
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 在动态创建的元素上获取对特定选择器的引用
- 根据元素和容器大小计算边距