2016-08-23 4 views
-3

たとえば、次のコードには3つのdivブロックがあります。このブロックにはdiv 1と3が必要です。同じ要素です。jqueryを使用してhtml文書のdivにある要素と同じセットを見つける方法はありますか?

<div> 
<div> 
    <p>Test</p> 
    <a>Test</a> 
</div> 
<div> 
    <a>Test</a> 
</div> 
<div> 
    <p>Test</p> 
    <a>Test</a> 
</div> 
</div> 
+0

あなたがこれまでに試してみました何..私は "

Test

Test
" のようなdiv要素を選択することができOP – guradio

+0

まずでJSを含める示しています。次に、HTML文書で同じセットを見つける必要があります – keerthi

+0

インデントが違う場合や、要素内のテキストが同じでない場合はどうなりますか? – Pete

答えて

0

すべてdivにはいくつかのhtmlがあります。 divのhtmlが最初のdivに等しい場合、それと等しくなります。

$(".parent > div").each(function(){ 
 
    if ($(this).html().trim() == $(".parent > div:first").html().trim()) 
 
     $(this).css("color", "red"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="parent"> 
 
    <div> 
 
     <p>Test</p> 
 
     <a>Test</a> 
 
    </div> 
 
    <div> 
 
     <a>Test</a> 
 
    </div> 
 
    <div> 
 
     <p>Test</p> 
 
     <a>Test</a> 
 
    </div> 
 
</div>

なお:コードワークのdivのHTMLは、正確に等しい場合。

0

以下のスニペットをご確認ください。

$(document).ready(function(){ 
 
    var i=0; 
 
    var msg = ""; 
 
    var elements = []; 
 
    $("#check div").each(function(){ 
 
    var _currentHTML = $(this).html(); 
 
    i = (i+1); 
 
    var j = 0; 
 
    $("#check div").each(function(){ 
 
     var _checkHTML = $(this).html(); 
 
     j = (j+1); 
 
     if((i!=j) && (_currentHTML == _checkHTML) && $.inArray(i+'_'+j,elements) == -1 && $.inArray(j+'_'+i,elements)==-1)  { 
 
     elements.push(i+'_'+j); 
 
     msg += i+" and "+j+" divs are same.\n"; 
 
     } 
 
    });  
 
    }); 
 
    console.log(msg); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="check"> 
 
    <div> 
 
    <p>Test</p> 
 
    <a>Test</a> 
 
    </div> 
 
    <div> 
 
    <a>Test</a> 
 
    </div> 
 
    <div> 
 
    <p>Test</p> 
 
    <a>Test</a> 
 
    </div> 
 
    <div> 
 
    <p>Test</p> 
 
    <a>Test</a> 
 
    </div> 
 
    <div> 
 
    <a>Test</a> 
 
    </div> 
 
</div>

関連する問題