在JavaScript中按类型访问元素

在JavaScript中按类型访问元素,javascript,types,element,document,Javascript,Types,Element,Document,前段时间我在用JavaScript做一些测试, 并使用一个代码来获取具有特定类的所有元素的文本 现在我正试图制作类似的东西,但通过特定类型获取所有元素,例如所有元素type=“text” 有没有办法在JavaScript中实现这一点,或者我应该使用jQuery var xx = document.getElementsByClassName("class"); for (i=0;i<xx.length;i++){ var str=xx[i].innerHTML;

前段时间我在用JavaScript做一些测试, 并使用一个代码来获取具有特定类的所有元素的文本

现在我正试图制作类似的东西,但通过特定类型获取所有元素,例如所有元素
type=“text”

有没有办法在JavaScript中实现这一点,或者我应该使用jQuery

var xx = document.getElementsByClassName("class");
for (i=0;i<xx.length;i++){
    var str=xx[i].innerHTML;
            alert(str);
}
var xx=document.getElementsByClassName(“类”);

对于(i=0;i在普通的旧JavaScript中,您可以执行以下操作:

var inputs = document.getElementsByTagName('input');

for(var i = 0; i < inputs.length; i++) {
    if(inputs[i].type.toLowerCase() == 'text') {
        alert(inputs[i].value);
    }
}

sizzle选择器引擎(为JQuery提供动力)为实现这一点做了完美的准备:

var elements = $('input[type=text]');


如果幸运的话,您只需要关注最新的浏览器,您可以使用:

document.querySelectorAll('input[type=text]')
“最近”不是指IE6和IE7,而是指var inputs=document.querySelectorAll(“输入[type=text]”)||
var inputs = document.querySelectorAll("input[type=text]") ||
(function() {
    var ret=[], elems = document.getElementsByTagName('input'), i=0,l=elems.length;
    for (;i<l;i++) {
        if (elems[i].type.toLowerCase() === "text") {
            ret.push(elems[i]);
        }
    }

    return ret;
}());
(功能(){ var ret=[],elems=document.getElementsByTagName('input'),i=0,l=elems.length;
对于(;I您可以尝试document.getElementsByTagName(标记名)。另一件事是-iQuery是javascript,因此使用jQuery可以实现的任何功能都可以不使用它。现在这个方法得到了很好的支持:我使用它来获取提交按钮。
document.querySelectorAll('input[type=text]')
var inputs = document.querySelectorAll("input[type=text]") ||
(function() {
    var ret=[], elems = document.getElementsByTagName('input'), i=0,l=elems.length;
    for (;i<l;i++) {
        if (elems[i].type.toLowerCase() === "text") {
            ret.push(elems[i]);
        }
    }

    return ret;
}());