统一:在同一查询中包含查询和输入[value * ='']

时间:2017-10-02 09:08:31

标签: jquery html

我有两个不同的查询,我想在一个查询中统一它们。一个是跟踪包含单词为文本的HTML元素的查询:

var component = ".component";
$(component).find(".search-here:contains('test')");

<tr class="search-here">
  <td>test</td>
</tr>

其他一个查询跟踪表单的输入并检查它们的文本值:

var component = "#form";
$(component).find("input[type='text']:input[value*='test']").closest('.search-here');

<div class="search-here">
  <input type="text" value="test, test1, test2">
</div>

它们,表单或任何HTMl组件都具有我想跟踪的值.search- here class

这里的问题是我无法跟踪表单的输入:contains因为它们没有文本值,所以它们有一个名为&#34; value&#34;

的属性

有两个不同的查询有点麻烦和棘手,是否可以在单个通用查询中执行它而不必修改可以查询&#34; text&#34; word是值属性还是文本值?

1 个答案:

答案 0 :(得分:1)

尝试$(component).filter("[type='text'],[value*='test'],:contains('test')").closest('.search-here')

之类的内容

只要输入的type = text或带有test的值,它就会返回。

<强>演示

var component = ".search-here *";
var s = $(component).filter("[type='text'],[value*='test'],:contains('test')").closest('.search-here');

console.log($(s).length)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form">
  <div class="search-here">
    <input type="text" value="test, test1, test2">
  </div>
  <div class="search-here">
  <input type="number" value="run"/>
  </div>
</form>

<table>
  <tr class="search-here">
    <td>test</td>
  </tr>
</table>