Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果不使用jQuery,如何按类型获取输入?_Javascript - Fatal编程技术网

Javascript 如果不使用jQuery,如何按类型获取输入?

Javascript 如果不使用jQuery,如何按类型获取输入?,javascript,Javascript,我知道我可以打电话: document.getElementsByTagName("input"); 我是否需要循环检查type==“text”的属性 我知道jQuery有输入[type=“text”]。 有什么简单的JavaScript方法可以实现这一点吗?如果您可以使用,您可以使用。这就是您可以做到的:) 您的代码基本上是正确的,除非代码正在运行。以下是跨浏览器代码: var textInputs; if (document.querySelectorAll) { textInpu

我知道我可以打电话:

document.getElementsByTagName("input");
我是否需要循环检查type==“text”的属性

我知道jQuery有
输入[type=“text”]

有什么简单的JavaScript方法可以实现这一点吗?

如果您可以使用,您可以使用。

这就是您可以做到的:)


您的代码基本上是正确的,除非代码正在运行。以下是跨浏览器代码:

var textInputs;
if (document.querySelectorAll)
{
    textInputs = document.querySelectorAll('input[type=text]');
}
else
{
    textInputs = [];
    var unfiltered = document.getElementsByTagName("input"),
        i = unfiltered.length,
        input;
    while(i--)
    {
        input = unfiltered[i];
        if (!input.type || input.type === 'text')
        {
            textInputs.push(input);
        }
    }
}
N.B.
else
案例中,我检查
输入的真实性。如果输入如下所示,请键入

<input />


在这种情况下,它默认为
type=“text”
。我包含此属性,因为我不能100%确定当属性关闭时是否每个浏览器都将返回
“text”
。记录在案,至少Chrome做到了

它实际上是特定于sizzlejs的,而不是jquery本身。是的,删除jquery是好事。DOM0集合将以最佳方式执行此任务:

for ( var i = 0; i < document.forms.length; i++ )
  for ( var j = 0; j < document.form[i].elements.length; j++ )
    /* have to do case-insensitive match to support any DOCTYPE */
    if ( document.form[i].elements[j].type.toUpperCase() == 'TEXT' )
      document.form[i].elements[j] = 'HAI!'; 
      /* done! */
for(var i=0;i
hi matt,有没有好的来源可以查看这些浏览器方法功能及其支持的列表?当然!听起来你可能错过了我答案中quirksmode的链接,所以又来了:当你省略它时,Chrome会返回
text
,但你不能在querySelector中使用它。更新您的小提琴以显示它:
for ( var i = 0; i < document.forms.length; i++ )
  for ( var j = 0; j < document.form[i].elements.length; j++ )
    /* have to do case-insensitive match to support any DOCTYPE */
    if ( document.form[i].elements[j].type.toUpperCase() == 'TEXT' )
      document.form[i].elements[j] = 'HAI!'; 
      /* done! */