0

子が強い、div、ヘッダー、またはその他の可能性がある子が1つしかない親divがあるユースケースがあります...子「Hello World」のinnerHTMLを取得するための一般的なソリューションが必要です

 <div id="parent">
  <strong>Hello World</strong>
 </div>

jqueryまたはjsでこれを行う効率的な方法は何ですか???

4

7 に答える 7

3
document.getElementById('parent').children[0].innerHTML
于 2013-06-07T20:16:28.053 に答える
1
$("#parent").children();
$("#parent").children(':first');
于 2013-06-07T20:15:52.790 に答える
1

常に最初の子である場合は、 を実行する$('#parent').children().first().text()か、すべての子を取得するには$('#parent').children().text().

于 2013-06-07T20:15:56.543 に答える
1

jQueryでこれを試してください:-

$("#parent").contents().filter(function(){
   return this.nodeType == 3;
});
于 2013-06-07T20:18:11.293 に答える
0

ネイティブを使用する提案にchildNodes[0]はバグがあります。

HTML の例では、必要な要素textNodeの前に表示される があります。<strong>非に到達するまで、childNodes をループする必要がありますtextNode。を試した場合も同じ問題が発生します.firstChild

この例ではネイティブ DOM.childrenプロパティが機能しますが、注意してください。IE8 以前のバージョンでは、コメント ノードも含まれます。

jQuery の.children()メソッドは、テキスト ノードをフィルターで除外するため、はるかに簡単な方法です。

jQuery をcontents()と組み合わせて使用.filter​​してテキスト ノードを除外するという提案は機能しますが、不要です。代わりに を使用.children()して、テキスト ノードを除外する作業を実行させることができます。

于 2013-06-07T20:24:36.233 に答える
0

jQueryでは簡単です....

      $('#parent').children('strong').html();
于 2013-06-07T20:16:25.433 に答える
0

jQuery:

$("#parent").children().html()

JavaScriptのみ:

document.getElementById("parent").childNodes[0].innerHTML
于 2013-06-07T20:16:39.890 に答える