<ul id="myid">
<li>microsoft</li>
<li>microsoft</li>
<li>apple</li>
<li>apple</li>
</ul>
मैं jquery का उपयोग करके li
से डुप्लिकेट को हटाना चाहता हूं।jquery डुप्लिकेट ली
मैं यह कैसे कर सकता हूं?
<ul id="myid">
<li>microsoft</li>
<li>microsoft</li>
<li>apple</li>
<li>apple</li>
</ul>
मैं jquery का उपयोग करके li
से डुप्लिकेट को हटाना चाहता हूं।jquery डुप्लिकेट ली
मैं यह कैसे कर सकता हूं?
example मुझे लगता है कि स्क्रिप्ट तेजी से होता है
var liText = '', liList = $('#myid li'), listForRemove = [];
$(liList).each(function() {
var text = $(this).text();
if (liText.indexOf('|'+ text + '|') == -1)
liText += '|'+ text + '|';
else
listForRemove.push($(this));
});
$(listForRemove).each(function() { $(this).remove(); });
धन्यवाद एंड्रेस descalzo, हम इसे "लाइव" डेटा के साथ कैसे कर सकते हैं ?? – dave
क्या आप एक उदाहरण दे सकते हैं जो आप करते हैं, या समस्या के साथ एक और सवाल? –
uniqueLi = {};
$("#myid li").each(function() {
var thisVal = $(this).text();
if (!(thisVal in uniqueLi)) {
uniqueLi[thisVal] = "";
} else {
$(this).remove();
}
})
यह अद्वितीय मानों का सूचकांक (एक वस्तु) बनाता है। आपके उदाहरण के लिए, uniqueLi
इस बाद में तरह दिखेगा:
{
"microsoft": "",
"apple": ""
}
तो जब भी एक मूल्य है कि इससे पहले कि सूचकांक में जोड़ा गया है का सामना करना पड़ा है, जुड़े <li>
निकाल दिया जाएगा।
आप इस्तेमाल कर सकते हैं
var inner = [];
$('li').each(function(index, Element){
if (jQuery.inArray(this.innerHTML, inner) == -1){
inner.push(this.innerHTML);
}
else {
$(this).remove();
}
});
'jQuery.inArray()' थोड़े अक्षम है। – Tomalak
यहाँ एक समारोह है कि यह एक अलग तरीके से करना होगा, है:
function removeDuplicateItems(id) {
var ul = $('#' + id);
$('li', ul).each(function() {
if($('li:contains("' + $(this).text() + '")', ul).length > 1)
$(this).remove();
});
}
साथ कॉल removeDuplicateItems('myid');
यह तब विफल हो जाएगा जब आइटम टेक्स्ट में एक एकल उद्धरण होता है। ;-) – Tomalak
मैं देख सकता हूं कि आप ऐसा क्यों कहेंगे, लेकिन असल में यह कुछ नहीं है (या तो 'शामिल' चयनकर्ता या '.text()' फ़ंक्शन है, मैं यह नहीं समझ सकता कि jQuery स्रोत से कौन सा) उद्धरण ऑटो से बच निकलता है। एक नज़र डालें: http://jsfiddle.net/kXurk/ –
हाय मार्क, कोड के लिए धन्यवाद। लेकिन हम इसे "लाइव" कैसे कर सकते हैं? – dave
मैंने अतीत में @ थारीमा समाधान का उपयोग किया है, लेकिन मेरे पास आईई 6 के साथ संगतता समस्याएं हैं (मुझे अभी भी इस डायनासोर का समर्थन करने की आवश्यकता है)।
यदि आइटम दोहराता है, तो इसे उल से हटा दें। यह गतिशील जोड़ा ली के साथ काम करता है।
var seen = {};
$("ul#emails_exclusion_list").find("li").each(function(index, html_obj) {
txt = $(this).text().toLowerCase();
if(seen[txt]) {
$(this).remove();
} else {
seen[txt] = true;
}
});
क्या वे हमेशा एक दूसरे के बगल में हैं, आदेश दिया गया लाइन? ऑब्जेक्ट्स के लिए 'इन' ऑपरेटर की तुलना में –