jQuery - innerText以选择器中断为开头

时间:2013-01-04 22:19:01

标签: jquery html

刚刚从jQuery 1.3.2升级到1.8.2,发现在1.3.2中运行的几个功能不再起作用。我已经解决了大部分问题,但坚持这个问题:

我需要根据表格单元格中的前几个字符进行搜索(“开始 - 搜索”),但此代码不再适用于最新版本的jQuery:

var matchingElements = $("#tblSelect1>tbody>tr>td:first-child[innerText^='" + text + "']");

我怀疑这与以下事实有关:过去像属性一样工作的东西现在是属性 - innerText是一个属性(我认为),所以它可能与属性开头兼容 - 使用选择器表示法:[attr^='value']

我不想使用:contains,因为我只想要其innerText以搜索text

开头的元素

思考?谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用filter方法。 innerText是一个非标准的属性,并不适用于Firefox,支持所有主要浏览器,您应该检查这两个属性,或使用jQuery text方法跨浏览器。

var $matchingElements = $("#tblSelect1 > tbody > tr > td").filter(function(){
      var c = this.textContent || this.innerText;
      return c.indexOf(text) === 0
});