如何在我的html标记中找到input元素

时间:2013-08-21 22:30:20

标签: javascript jquery regex

我正在尝试使用正则表达式来查找变量是否包含输入字段。

我的变量中的html可能是这样的。

<span>test here</span>

 <span><input type="text"></span>

我的代码就像

//$(this) is be my variable

if($(this).html().match("/<input type='text'>/")){
          console.log('match found')
 }

似乎无法找到匹配项。任何人都可以帮我吗?非常感谢!

3 个答案:

答案 0 :(得分:3)

怎么样

if ($(this).find('input[type="text"]').length) {
    console.log('match found');
}

如果this是HTML文本字符串(如图所示),您仍然可以使用相同的代码,例如

$('<span>test here</span>').find('input').length // equals 0

$('<span><input tyep="text"></span>').find('input').length // equals 1

答案 1 :(得分:1)

我不确定你要做什么,但我相信这会得到与上述$(this).find('input[type="text"]')相同的结果

如果您正在寻找正则表达式/input\s+[^>]*type\s*=\s*['"]text['"]/应该这样做。

答案 2 :(得分:0)

如果您正在使用输入标记的正则表达式,则可能是基本表达式:

<input .*type=['"]text['"].*/>

这将匹配任何输入标签与type =“text”(双引号或单引号)及其间的任何属性。

如果输入元素已经在页面上,我建议使用jQuery:

if($('input[type=text]').length > 0){
   console.log('match found');
}

请注意输入元素需要结束标记

<input type="text"></input>,而是<input type="text" />