Javascript rn相同的数组类型?@hsuk Yes type相同,但是getElementsByTagName返回活动节点列表并查询选择所有非活动节点。@Givi:活动节点和静态节点之间有什么区别?这有什么影响吗?我的例子不是关于我的真实情况。这只是关于如何在纯jav
Javascript rn相同的数组类型?@hsuk Yes type相同,但是getElementsByTagName返回活动节点列表并查询选择所有非活动节点。@Givi:活动节点和静态节点之间有什么区别?这有什么影响吗?我的例子不是关于我的真实情况。这只是关于如何在纯jav,javascript,jquery,Javascript,Jquery,rn相同的数组类型?@hsuk Yes type相同,但是getElementsByTagName返回活动节点列表并查询选择所有非活动节点。@Givi:活动节点和静态节点之间有什么区别?这有什么影响吗?我的例子不是关于我的真实情况。这只是关于如何在纯javascript中复制jQuery的'not()'函数的使用。如果一个例子不能反映真实情况并抓住问题的本质,那么它是毫无意义的。在任何情况下,我都提供了一个普通的JS解决方案,它捕获了您试图使用jQuery执行的操作的本质。这是否解决了您的问题(
rn相同的数组类型?@hsuk Yes type相同,但是
getElementsByTagName
返回活动节点列表并查询选择所有非活动节点。@Givi:活动节点和静态节点之间有什么区别?这有什么影响吗?我的例子不是关于我的真实情况。这只是关于如何在纯javascript中复制jQuery的'not()'函数的使用。如果一个例子不能反映真实情况并抓住问题的本质,那么它是毫无意义的。在任何情况下,我都提供了一个普通的JS解决方案,它捕获了您试图使用jQuery执行的操作的本质。这是否解决了您的问题(jsfiddle链接应该可以帮助您尝试一下)?我将用querySelectorAll('table:not(.non-draggable')替换getElementsByTagName('table')。这两个方法是否返回相同的数组类型?@hsuk Yes type相同,但getElementsByTagName
返回活动节点列表和querySelectorAll non-Live。@Givi:活动节点和静态节点之间有什么区别?有什么影响吗?
<div id='outerdiv'>
<div class='class-1'></div>
<div class='class-2'></div>
<div class='class-3'></div>
<div class='class-4'></div>
<div class='news'></div>
</div>
$('#outerdiv').not('.news').css('background-color', 'red');
[].forEach.call(document.querySelectorAll("#outerdiv div:not(.news)"), function (value, index, array) {
value.style.backgroundColor = "red";
});
// Find the correct table...
var table = document.getElementById("mytable"),
// Find all the td's inside it...
td = table.getElementsByTagName("td");
// Loop through each td inside the table...
for ( var i=0; i < td.length; i++ ) {
// If td has a class that is anything but .exclude...
if ( td[i].className !== 'exclude' ) {
// Add class to all non-excluded elements
td[i].className = "mark";
}
}
<table id="mytable">
<tr>
<td>td-1</td>
<td>td-2</td>
</tr>
<tr>
<td class="exclude">td-3</td>
<td>td-4</td>
</tr>
<tr>
<td>td-5</td>
<td>td-6</td>
</tr>
</table>
.mark { color: red; }
$('#outerdiv > div').not('.news').css('background-color', 'red');
var divs = document.querySelectorAll('#outerdiv > div:not(.news)');
for (var i=0; i < divs.length; i++) {
divs[i].style.backgroundColor = 'red';
}
function not($list, element) {
const list = Array.from($list);
const index = list.indexOf(element);
return list.slice(index);
}