1

私は初めてjQueryを使用する必要があります....

<a class="Tag Resource" href="http://localhost/" 
resource="http://localres/" property="prop">test</a>

var = $('a').find('Tag Resource').text();andを使用してテキストを抽出しようとしましたが、うまくいきvar = $('a').find('Tag Resource').html();ません。プレーンテキストとして「テスト」が必要です。

誰かがこれを行う方法を教えてもらえますか?

前もって感謝します

4

7 に答える 7

7

私はあなたが探していると思います:

var t = $("a.Tag.Resource").text();

とクラスの両方を持つタグを意味します。find() メソッドは、要素のサブツリーを検索するためのものです。TagResource

于 2009-08-06T15:44:30.527 に答える
5

どうぞ (ライブデモ):

$(document).ready(
  function (){ 
    alert(  $('a.Tag.Resource').html()  );  
});

あなたの問題は、1 つのクラスが必要でしたが、スペースを使用したために 2 つになったことです。または、jquery セレクターを使用してクラスを参照する場合は、プレフィックスとしてピリオドを付ける必要があります。

いずれにせよ、上記のコードが役に立ちます。本当に 1 つのクラスだけが必要な場合は、次のように変更します。$('a.Tag-Resource')...

于 2009-08-06T15:48:49.817 に答える
1

問題は find 式の構文だと思います。

更新:実際、検索はまったく必要なく、フィルターが必要です。Find は、要素自体ではなく、a 要素の子孫のみを選択します。

以下の例の行をテストしました。

ここの例から、あなたが望むように見えます

var text = $('a').filter('.Tag.Resource').text();
于 2009-08-06T15:48:22.390 に答える
0
var text = "";
$("a").each(function(){
  text += $(this).html() + " " + $(this).attr("resource");
});
alert(text);
于 2009-08-06T15:48:22.373 に答える
0

スペースを含むクラス名を使用できるとは思いません。タグに「タグ」と「リソース」の2つのクラスを追加しましたが、検索セレクターはそれを見つけられません。

于 2009-08-06T15:49:19.737 に答える
0

クラス名はページ内で繰り返すことができ、スペースは要素に適用される 2 つのクラスを示すことに注意してください。単一の要素がそのクラスを持つことは保証されていないため、 .text() は一致したすべての要素の結合テキストを返す場合があります。

$(".Tag.Resource").text();
于 2009-08-06T15:50:01.263 に答える
0

まあ、JQueryを使う必要はありません...

var text, links = document.links;
for (var i = 0; i < links.length; i++) {
   if (links[i].className == 'Tag Resource') {
      text = links[i].innerText;
      break;
   }
}
alert(text);
于 2009-08-06T15:52:42.380 に答える