5

jQuery 1.3.2 から 1.8.2 にアップグレードしたところ、1.3.2 で機能していたいくつかの機能が機能しなくなっていることがわかりました。これらのほとんどは修正しましたが、これに固執しました:

テーブル セル内の最初の数文字に基づいて検索する必要がありますが (「で始まる」検索)、このコードは jQuery の最近のバージョンでは機能しなくなりました。

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

以前は属性のように機能していたいくつかのものが代わりにプロパティになっているという事実と関係があると思われます-innerTextはプロパティであり(私は思う)、属性で始まるセレクター表記と互換性がない可能性があります:[attr^='value']

:containsinnerText が検索で始まる要素のみが必要なため、使用したくありませんtext

考え?ありがとう!

4

1 に答える 1

4

メソッドを使用できますfilterinnerTextは非標準のプロパティであり、Firefoxでは機能しません。すべてのメインブラウザをサポートするには、両方のプロパティを確認するか、textクロスブラウザであるjQueryメソッドを使用する必要があります。

var $matchingElements = $("#tblSelect1 > tbody > tr > td").filter(function(){
      var c = this.textContent || this.innerText;
      return c.indexOf(text) === 0
});
于 2013-01-04T22:22:35.660 に答える