2012-05-12 6 views
7

मैं rangy पुस्तकालय का उपयोग कर रहा है और इस प्रकार एक सामग्री में पाठ संपादन योग्य चयन कर सकते हैं के साथ चयनित पाठ के लिए माता-पिता नोड हो रही है पैरेंट नोड/तत्व। उदाहरण के लिए, यदि मैंआवारा पुस्तकालय

<strong>My Text</strong> 
or 
<h1>My Title</h1> 

टेक्स्ट का चयन कर रहा हूं, तो मैं मजबूत नोड या एच 1 तत्व भी कैसे शामिल कर सकता हूं?

+1

कुछ और के आसपास मेसिंग मैं देखता हूं कि मैं इसका उपयोग कर सकता हूं: sel.anchorNode.parentNode.nodeName – Frank

उत्तर

8

sel.anchorNode.parentNode आपको नोड का मूल नोड मिलेगा जिसमें चयन का केवल एक छोर होगा। पूरे चयन के लिए सबसे महत्वपूर्ण तत्व प्राप्त करने के लिए, सबसे आसान बात यह है कि चयन से रेंज प्राप्त करें और इसकी commonAncestorContainer प्रॉपर्टी देखें (जो एक टेक्स्ट नोड हो सकता है, जिस स्थिति में आपको इसके माता-पिता को प्राप्त करने की आवश्यकता है):

var sel = rangy.getSelection(); 
if (sel.rangeCount > 0) { 
    var range = sel.getRangeAt(0); 
    var parentElement = range.commonAncestorContainer; 
    if (parentElement.nodeType == 3) { 
     parentElement = parentElement.parentNode; 
    } 
} 
+0

बहुत बढ़िया धन्यवाद! – Frank

+0

यह तब तभी काम करता है जब हम 'मजबूत' या 'h1' टैग में टेक्स्ट का चयन करते हैं, न कि दोनों का चयन करते समय। दोनों टैग के लिए चयनित खंड के लिए यह कैसे करें (पाठ: मेरा पाठ)? – kicaj

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^