मेरे पास निम्न है:मैं इस लूप को सभी बच्चों को बार-बार कैसे बना सकता हूं?
for (var i = 0; i < children.length; i++){
if(hasClass(children[i], "lbExclude")){
children[i].parentNode.removeChild(children[i]);
}
};
मैं इसे सभी बच्चों के बच्चों के माध्यम से लूप करना चाहता हूं (न केवल शीर्ष स्तर)। मुझे यह लाइन मिली, जो ऐसा लगता है:
for(var m = n.firstChild; m != null; m = m.nextSibling) {
लेकिन मैं अस्पष्ट हूं कि अगर मैं उस स्विच को चालू करता हूं तो मैं वर्तमान बच्चे को कैसे संदर्भित करता हूं? अब मुझे बच्चे की सूचकांक स्थिति को स्पष्ट करने के लिए नहीं होगा। कोई सुझाव?
धन्यवाद!
अद्यतन:
मैं अब उत्तर सुझावों के अनुसार निम्नलिखित का उपयोग कर रहा हूं। क्या ऐसा करने का यह सही/सबसे प्रभावी तरीका है?
function removeTest(child) {
if (hasClass(child, "lbExclude")) {
child.parentNode.removeChild(child);
}
}
function allDescendants(node) {
for (var i = 0; i < node.childNodes.length; i++) {
var child = node.childNodes[i];
allDescendants(child);
removeTest(child);
}
}
var children = temp.childNodes;
for (var i = 0; i < children.length; i++) {
allDescendants(children[i]);
};
क्या आप जानते हैं कि आपने यहां कितने सरणी डाली हैं? – thecoshman
बस नाम से 'm': 'm.parentNode.removeChild (m)'। हालांकि, कोई समस्या हो सकती है, क्योंकि नोड को हटाकर और फिर 'अगली सिब्लिंग' ('क्लॉज' में) लेना इरादा के रूप में काम नहीं करेगा। – Dirk
@ कोशमैन, नेस्टेड बच्चों की मात्रा परिवर्तनीय होगी। – Matrym