5

私は次のHTMLコードを持っています:

<div id="mycontainer">
   <p> title </p>
   <ul>
   <li><span>**</span><a href="...">KEY</a></li>
   </ul>
   <ul>
   ...
   </ul>
</div>

KEY値を取得するにはどうすればよいですか?言い換えると、id = "mycontainer"のこのdivから、要素のコンテンツである最初のulからどのように取得しますか?

4

6 に答える 6

10
$("#mycontainer ul:first a").text();

ここに、フィドルがあります:http: //jsfiddle.net/8tvTt/

于 2012-11-20T17:24:09.263 に答える
2

このようなものはあなたが求めているものを達成します:

$("#mycontainer ul:first a").text();

于 2012-11-20T17:25:05.417 に答える
1

これは機能します:

$('#mycontainer ul:eq(0) a').text();

これも機能します:(より読みやすい)

$('#mycontainer ul:first a').text();
于 2012-11-20T17:24:23.237 に答える
1

これを使って:

$('#mycontainer a').text();
于 2012-11-20T17:24:41.877 に答える
1

既存の回答の多くはあなたが求めているものを達成しますが、あなたが本当に求めているのは(または少なくとも本当に必要なもの)、jQueryセレクターDOMトラバースにある程度精通していることだと思います。

多くの人は、リンク要素の内部テキストが必要だと思っているようですが、そうであるかどうかはわかりません。このマークアップのバリエーションを提供せず、セレクターの速度を気にすることなく、提供したマークアップ$('a').text();で唯一のものであるため、愚かなことを含め、任意の数の回答が必要なことを実行しaます。そして、私たちは状況についてしか推測できません。それぞれの答えがどのように機能するか(そして、なぜ失敗したものが機能しないのか)とその理由を理解することはより役立つでしょう。

セレクターの特異性が望ましいですが、実際にDOMを経由するコストがかかる可能性があるもののコストと利点を比較検討する必要があります。リンクのテキストコンテンツを常に取得しますか?HTMLが含まれている可能性はありますか?あなたは実際にラッピング<a>も手に入れたいですか?

a内部のみのテキストコンテンツが必要な場合は、次の#mycontainerことを確認してください。

$("#mycontainer ul:first a").text();

しかし$('#mycontainer').find('a').text();、もっと速いかもしれません。(待って、何find()ですか?、あなたは尋ねます、そしてなぜそれはより速いのですか?)しかし、KEYが正しくフォーマットさ<strong>れていて、それをあなたがそれでしていることに引き継ぐことを望むならどうしますか?代わりに使用することをお勧めします.html()aそれ自体が必要な場合は、次のことを行ってください。

$("#mycontainer ul:first a");

しかし、それぞれlia?

$("#mycontainer ul:first li:first a").clone();

スパンも欲しいですか?

$("#mycontainer ul:first li:first").clone();

また

$("#mycontainer ul:first li:first").html();

ラッピングもしたい<li>ですか?

$("#mycontainer ul:first li:first").clone();

遊んで、もう少し読んでください。そうすれば、すべての人(私を含む)が、ばかげた、簡単な担当者のためにそれほど貪欲になることはありません。

于 2012-11-20T17:54:13.230 に答える
0

jqueryセレクターを読む必要があります...しかしこれを使用してください

$('#mycontainer ul:first a').text();
于 2012-11-20T17:26:44.033 に答える