- 締切済み
jQueryのcontainsフィルターについて
こんにちは。 jQueryについてご質問があります。 jQueryのcontainsフィルターで要素を取得できなくて困っております。 たとえば以下のようなHTMLがあるとします。 ======================== <g class="parent"> <text width="50" height="50" x="10" y="10"><tspan>abc</tspan></text> </g> ======================== このときtspan要素を取得したい場合、 $("g.parent text tspan:contains('abc')"); のようにしても取得できないのです。 例えば次のパターンの場合 ========================= <section class="parent"> <p><span>abc</span></p> </section> ========================= $("section.parent p span:contains('abc')"); というコードを実行すると正確にspan要素を取得できます。 前者の場合はなぜ取得できないのでしょうか? ご教示よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.1
gやtspanはSVGタグですが、jQueryはSVGに対応していないのではないでしょうか。 確認してみてください。
お礼
早速のご回答ありがとうございました。 試しにsvgも扱えるライブラリ「jquery.svg.js」を読み込んでみましたが状況は変わりませんでした。 また $("g text tspan:contains('abc'); とすると正常にtspan要素を取得できました。 なぜクラス指定すると取得できないのでしょうか? よろしくお願いいたします。