将类应用于<td>
Apply class to <td>
如何找到每个<td>
元素中包含的<p>
元素的类名,然后将该类添加到<td>
元素的类列表中?
<table>
<tr>
<td colspan="1">
<p class="Hello_blue">Hello Stack Overflow1</p>
</td>
<td rowspan="1" colspan="2">
<p class="Hello_red">Hello Stack Overflow2</p>
<p class="Hello_red">defines red color,that class want to apply to</p>
</td>
<td rowspan="1" colspan="1">
<p class="Hello_orange">Hello Stack Overflow3</p>
</td>
</tr>
</table>
<td>
元素将具有如下的类
<td rowspan="1" colspan="1" class="blue">...</td>
<td rowspan="1" colspan="1" class="red">...</td>
<td rowspan="1" colspan="1" class="orange">...</td>
您可以在表中搜索p
标签,然后找到最接近的父td
并分配类名。
// convert "Hello_blue" to "blue"
function convertClassName(src) {
return src.replace(/^.*?_/, "");
}
var pTags = document.querySelectorAll("table p");
for (var i = 0; i < pTags.length; i++) {
pTags[i].parentNode.className += " " + convertClassName(pTags[i].className);
}
工作演示:http://jsfiddle.net/jfriend00/6bvwu5qL/
使用jQuery:
// convert "Hello_blue" to "blue"
function convertClassName(src) {
return src.replace(/^.*?_/, "");
}
$("table p").each(function() {
$(this).closest("td").addClass(convertClassName(this.className));
});
工作演示:http://jsfiddle.net/jfriend00/36oejbx4/
这些代码块中的任何一个都应该在加载DOM之后运行。这意味着您可以将它们放在文档末尾的脚本标记中,或者从一个直到DOM加载后才调用的函数中调用它们,或者从等待DOM加载的事件处理程序(如onload
)中调用它们。
选择<td>
元素的所有子<p>
元素,然后遍历并将每个<p>
元素的类赋值给它的父元素。
(function(){
window.onload = function() {
"use strict";
var paragraphs = document.querySelectorAll('td p'), paragraph, i;
for(i = 0; (paragraph = paragraphs[i]); i++) {
paragraph.parentNode.className += paragraph.className.replace('hello_','');
}
}
})();
相关文章:
- 将函数的上下文应用于javascript变量
- 将CSS应用于printWindow.print();在Javascript中
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- $scope.apply()何时应用于angular
- Javascript非常简单:'阅读更多''显示较少'应用于Wordpress的功能
- 尝试应用于<tr>在ng单击中
- 如何将javascript仅应用于1个表单中的2个表单提交按钮中的1个
- 将脚本应用于Angular 2上的输入
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- 如何将参数应用于String.prototype.format函数
- 动态地将过滤器应用于 JSON.parse()
- $location更改不适用于ngchange,而是应用于ngclick
- 如何将 :empty 选择器应用于 XML 文档
- 如何仅在文本字段中有值时才将自定义过滤器应用于 ng-repeat
- 如何使用 JavaScript 将样式应用于 CKEditor 中的选定文本
- MongoDB 无法将$addToSet应用于 Meteor JS 中的非数组
- 将类应用于jquery ui对话框
- 如果某个样式在TD中,则将CSS应用于TR
- 对于表中的每个复选框,如果选中了复选框,则将class应用于td标记,
- 将css类动态应用于firefox中不工作的表td