0

の非表示の値とこのの大きなDivs値を含むテーブルを除いて、自分のページの2つの間のhtmlを取得したいと思います。これらの2つの要素を除外するには、jQueryセレクターを使用する必要があるようです。しかし、私のコードは失敗しました。それで、誰かが私にいくつかの提案をすることができますか?これがデモで、以下が私のコードの基本的な考え方です。私が必要とするのは最初のありがとうまでの内容だけです!jqplotDivjqplot:not()table

HTML

<div class="articles">
    <h2 class="model_header">Exponential Model Output</h2>

    <table align="center">
        <!--end 04uberoutput_start-->
    </table>

    <table width="550" border="1">  
    </table>  
####I need nothing below#####
    <p>&nbsp;</p>

    <table width="400" border="0" style="display: none">
    </table>

    <div id="chart1" style="margin-top: 20px; margin-left: 20px; width: 650px; height: 400px; position: relative;" class="jqplot-target">
    </div>

</div>

JS:

  var jq_html = $("div.articles:not(table&div)").html();
4

3 に答える 3

2
var jq_html = $("div.articles").children(':lt(3)');

たぶん、ゼロベースのインデックスが3未満のすべての子をターゲットにして、次のようにします。

  • [0] H2
  • [1]最初のテーブル
  • [2]2番目のテーブル

編集:

少し遅れて、コメントに気づかなかった!

var jq_html = $('<div />').append($("div.articles").children(':lt(3)').clone()).html();
于 2013-03-26T22:37:03.460 に答える
1

まず、outerHtml()関数が必要です(選択した要素の外部HTMLを取得するを参照)。デモンストレーションの目的で、組み込みのものを使用します。

var jq = $("div.articles").children(':not(div#chart1,table:hidden)');
var jq_html = "";
jq.each(function() {
  jq_html += $(this)[0].outerHTML + "\n";
});
于 2013-03-26T22:43:57.013 に答える
1

jquery.apiから:

HTMLドキュメントでは、.html()を使用して任意の要素のコンテンツを取得できます。セレクター式が複数の要素に一致する場合、最初の一致のみにHTMLコンテンツが返されます。

http://api.jquery.com/html/

したがって、.html()を使用して、とにかく一致した最初の要素を取得することしかできません。何か考えられるか見てみます。

于 2013-03-26T23:13:58.217 に答える