刚刚从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
思考?谢谢!
答案 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
});