क्या मैं jQuery के साथ केवल नोड में टेक्स्ट को हटा सकता हूं लेकिन बच्चों के तत्व नहीं?jQuery: पाठ को कैसे हटाया जाए, लेकिन बच्चों के तत्व
धन्यवाद
क्या मैं jQuery के साथ केवल नोड में टेक्स्ट को हटा सकता हूं लेकिन बच्चों के तत्व नहीं?jQuery: पाठ को कैसे हटाया जाए, लेकिन बच्चों के तत्व
धन्यवाद
यहाँ मेरी विचार है:
function removeText(element){
var newElement = $('<' + element[0].nodeName + '/>');
element.children().each(function(){
newElement.append(this);
});
element.replaceWith(newElement);
}
आप इसे that.Unless ऐसा नहीं कर सकते एक तत्व से लपेटा जाता है।
यह मेरे लिए काम करता है:
$(elem).html($(elem).html().replace($(elem).text(),''));
यह पाठ सामग्री के बिना html सामग्री निर्धारित करते हैं, इसका मतलब है कि ELEM के अंदर किसी भी HTML टैग जा बिना रखेंगे परिवर्तन।
से पहले:
<div>Hello<input type="text" name="username" value="world!"/></div>
के बाद:
<div><input type="text" name="username" value="world!"/></div>
अलविदा
कृपया कुछ स्पष्टीकरण जोड़ें। –
इसके साथ कुछ समस्याएं हैं: 1) स्ट्रिंग फ़ंक्शंस के साथ एचटीएमएल को संपादित करना जैसे मार्कअप को तोड़ सकता है (उदाहरण के लिए। यदि टेक्स्ट '' 'या' '' 'है), 2) पाठ से मेल खाने वाला कुछ भी बदल दिया गया है (उदाहरण के लिए। पाठ 'उपयोगकर्ता' है तो नाम विशेषता बदल जाएगी), 3) यदि पाठ बच्चों के बीच फैल गया है तो यह काम नहीं करेगा (उदाहरण के लिए। "
बेस्ट और आसान समाधान निश्चित div से सभी पाठ तत्वों को दूर करने के लिए है
$("#firstDiv").contents().filter(function(){
return (this.nodeType == 3);
}).remove();
उत्कृष्ट समाधान। मेरे लिए काम करता है। – jwinn
फ़ंक्शन स्ट्रिपटेक्स्ट (तत्व) { \t \t var item = element [0]; \t \t var newElement = $ ('<' + item.nodeName + '/>'); { \t \t \t newElement.attr (item.attributes [i] .name, item.attributes [i] .Value) \t (; मैं item.attributes.length Mandrake
+1 मँड्रेक का समाधान तत्व के गुणों को हटाए जाने के मुद्दे को हल करता है। –