Javascript JS getElementsByTagName,具有特定类的除外
我有一个变量:Javascript JS getElementsByTagName,具有特定类的除外,javascript,Javascript,我有一个变量: var _inputs = document.getElementsByTagName('input'); 但是我想创建一个新的变量,它将选择所有的输入,除了有一个像“.nothis”这样的特定类的输入 试试这个: var _inputs = document.getElementsByTagName('input'); var filteredInputs = []; var re = new RegExp('\\b' + 'nothis' + '\\b'); // or
var _inputs = document.getElementsByTagName('input');
但是我想创建一个新的变量,它将选择所有的输入,除了有一个像“.nothis”这样的特定类的输入
试试这个:
var _inputs = document.getElementsByTagName('input');
var filteredInputs = [];
var re = new RegExp('\\b' + 'nothis' + '\\b'); // or any other class name
for(var i=0; i<_inputs.length;i++) {
if (!re.test(input.className)) { // filter out by class name
filteredInputs.push(_inputs[i]);
}
}
var\u inputs=document.getElementsByTagName('input');
var filteredInputs=[];
var re=new RegExp('\\b'+'nothis'+'\\b');//或任何其他类名
对于(var i=0;i尝试以下方法:
var _inputs = document.getElementsByTagName('input');
var filteredInputs = [];
var re = new RegExp('\\b' + 'nothis' + '\\b'); // or any other class name
for(var i=0; i<_inputs.length;i++) {
if (!re.test(input.className)) { // filter out by class name
filteredInputs.push(_inputs[i]);
}
}
var\u inputs=document.getElementsByTagName('input');
var filteredInputs=[];
var re=new RegExp('\\b'+'nothis'+'\\b');//或任何其他类名
对于(var i=0;i在现代浏览器中,您可以执行以下操作
var inputs = document.querySelectorAll('input:not(.nothis)');
在现代浏览器中,您可以这样做
var inputs = document.querySelectorAll('input:not(.nothis)');
请尝试以下代码:
var _inputs = Array.prototype.filter.call(
document.getElementsByTagName("input"),
function(obj) {
return obj.className.split(" ").indexOf("nothis")===-1;
});
请尝试以下代码:
var _inputs = Array.prototype.filter.call(
document.getElementsByTagName("input"),
function(obj) {
return obj.className.split(" ").indexOf("nothis")===-1;
});
先告诉我…但是如果元素有多个类会发生什么情况呢?对于多个类:className.indexOf('class')>0
className.indexOf('class')>0
将使用类似“subclass”的字符串给出假阴性。不,你拒绝了我的编辑建议。@kats:我没有拒绝任何建议。这是一个社区编辑的网站。如果你想改进,请告诉我,我会亲自提交(这样就不必经过2次编辑批准)。先告诉我吧…但是如果元素有多个类怎么办?对于多个类:className.indexOf('class')>0
className.indexOf('class')>0
会给出带有“subclass”之类字符串的假阴性。不,你拒绝了我的编辑建议。@kats:我没有拒绝任何建议。这是一个由社区编辑的网站。如果你想改进它,请告诉我,我会把它放在我自己的网站上(这样它就不必经过2次编辑批准)。这不是所有浏览器都支持的(IE<8,FF<3.5)IE8甚至不支持此特定选择器。它似乎无法识别:not()
函数。这在所有浏览器中都不受支持(IE<8,FF<3.5)。IE8甚至不支持此特定选择器。它似乎无法识别:not()
函数。