相关疑难解决方法(0)

获取子节点的最佳方法

我想知道,JavaScript提供了各种方法来从任何元素中获取第一个子元素,但哪个是最好的?最好的,我的意思是:大多数跨浏览器兼容,最快,最全面和可预测的行为.我用作别名的方法/属性列表:

var elem = document.getElementById('container');
var child = elem.children[0];
var child = elem.firstElementChild; // == children[0]
Run Code Online (Sandbox Code Playgroud)

这适用于两种情况:

var child = elem.childNodes[0]; // or childNodes[1], see below
Run Code Online (Sandbox Code Playgroud)

这是形式或<div>迭代的情况.如果我可能遇到文本元素:

var child = elem.childNodes; // treat as NodeList
var child = elem.firstChild;
Run Code Online (Sandbox Code Playgroud)

据我所知,firstChild使用NodeList childNodes,并firstElementChild使用children.我将这个假设建立在MDN参考上:

childNode是对元素节点的第一个子元素的引用,或者null如果没有元素节点的引用.

我猜测,就速度而言,差异(如果有的话)几乎没有,因为firstElementChild它实际上是一个引用children[0],并且children对象已经在内存中了.

扔我的是childNodes对象.我用它来查看表格元素中的表单.虽然children列出了所有表单元素,但childNodes似乎也包含HTML代码中的空格:

console.log(elem.childNodes[0]);
console.log(elem.firstChild);
Run Code Online (Sandbox Code Playgroud)

两个日志 <TextNode textContent="\n ">

console.log(elem.childNodes[1]);
console.log(elem.children[0]);
console.log(elem.firstElementChild);
Run Code Online (Sandbox Code Playgroud)

所有日志<input type="text" …

javascript dom children elements

220
推荐指数
4
解决办法
46万
查看次数

Jquery将css类添加到表的第一行

大家好我想尝试使用jquery将css类添加到表的第一个tr中.我知道这应该是非常容易的,我找到了许多提供正确解决方案的链接和问题.像这三个和其他:

如何使用jQuery在HTML表中获取<tbody>的第一个<tr>的id?

JQuery,选择第一行表

如何使用jQuery为页面上的每个表的第一行设置样式

但对我来说,这些都不起作用.

我有一个ID为DataTableMovimenti的表,我想应用css类"ct-active"

我尝试了以下说明:

$("#DataTableMovimenti tr:first").addClass('ct-active');
$("#DataTableMovimenti").find("tr:first-children").addClass("ct-active");
$("#DataTableMovimenti").find("tr:first").addClass("ct-active");
$("#DataTableMovimenti").find("tr:eq(0)").addClass("ct-active");
$("#DataTableMovimenti").find("tbody tr:eq(0)").addClass("ct-active");
$("#DataTableMovimenti").children("tr:first").addClass("ct-active");
$("#DataTableMovimenti").closest('tr').addClass('ct-active');
Run Code Online (Sandbox Code Playgroud)

$document.ready()在jsp 中的函数中插入了代码,因为我想在进入页面时突出显示表格的第一行.

该表具有以下结构:

<table id="DataTableMovimenti" class="table ct-datatables">
<thead>
   <tr></tr>
      ............
</thead>
<tbody>
    <tr id="tableRowId" class="table-row-tr"></tr>
      ...........
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我想更改tbody部分中第一个tr的css类.提前致谢

html css jquery

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

children ×1

css ×1

dom ×1

elements ×1

html ×1

javascript ×1

jquery ×1