मैं कक्षा के साथ तत्व को हटाना चाहता हूं"tehnicneinfo" लेकिन केवल तभी जब मैं तत्व की जाँच कर रहा हूँ (वर्ग "h2size" के साथ) कोई बच्चा नहीं है। मेरे पास उन तत्वों का एक समूह है, जो एक प्लगइन द्वारा निर्मित हैं और मैं केवल उन लोगों को हटाना चाहता हूं जिनके पास अगला तत्व है जो बच्चे के साथ हैं। । मैंने jquery कोड लिखा, लेकिन यह मेरे सभी तत्वों को नष्ट कर देता है, न केवल उन लोगों के पास जो बिना बच्चे के अगले तत्व हैं। यहां मेरा jquery कोड है:
$(".news .h2size > div").each(function() {
var ul = $(this).find("ul");
if(!ul.length) $(this).remove();
var h1 = $(".news").find(".tehnicneinfo");
var h2size = $(".news").find(".h2size");
if(h2size.prev().is(":empty"))
{
h1.remove();
}
});
यह कोड अंदर है $(document).ready(function()
। क्या आप मुझे बता सकते हैं कि मैं क्या गलत कर रहा हूं? कोड कुछ और के लिए भी है, इसलिए मैं केवल से ही परेशान हूं var h1 = $(".news").find(".tehnicneinfo");
इस लाइन पर। अग्रिम में धन्यवाद!
एचटीएमएल:
<div class="news">
<h1 class="tehnicneinfo">xxx</h1>
<div class="h2size">
<div id="xyxyxy">
.......
</div>
</div>
<h1 class="tehnicneinfo">yyy</h1>
<div class="h2size"></div>
....
</div>
यह html, केवल यह है कि 20 और पंक्तियों की तरह है जो समान हैं, लेकिन विभिन्न मूल्यों के साथ (नहीं yy और xxx)। मुझे सभी "yyy" (वे सभी समान मूल्य के साथ नहीं हैं) को हटाने की आवश्यकता होगी।
उत्तर:
जवाब के लिए 3 № 1आप उपयोग कर सकते हैं फिल्टर जिन लोगों को आप हटाना चाहते हैं उन्हें फ़िल्टर करने के लिए निकालें
"मैं केवल उन लोगों को हटाना चाहता हूं जिनके पास बच्चे के बिना अगला तत्व है"
$(".tehnicneinfo").filter(function(){
return !$(this).next().children().length;
// only ones with next sibling with no children
}).remove();