2016-09-19 9 views
0

Ich habe div mit contenteditable="true". Wie bekommt man div durch Auswahl von Text? Zum BeispielWie wird man mit ausgewähltem Text div?

<div class="md-editor" contenteditable="true"><div class="imustgetthidivbyselecttext">help</div> 

Wenn ich Text auswählen, wie Klasse zu erhalten, die in div Text ist?

Antwort

0

Wenn contenteditable = "true" div ist Elternteil div dann können Sie unter Code verwenden

<div class="md-editor" contenteditable="true"><div class="imustgetthidivbyselecttext" onclick='call(this);'>help</div></div> 

function call(id) { 
     alert(id.className); // For current div 
     alert(id.parentElement.className); // For parent div where contenteditable="true" 
    } 
+0

Lassen Sie mich wissen, wenn Sie nach etwas suchen, sonst –

0

Update: Das funktioniert in Chrome. Könnte in älteren IE-Versionen etwas anders:

window.getSelection().getRangeAt(0).commonAncestorContainer.parentElement; 

Fiddle: https://jsfiddle.net/xs36c3a5/

0

function getSelectedText() { 
 
    var text = ''; 
 
    
 
    if (window.getSelection) { 
 
     text = window.getSelection().toString(); 
 
    } 
 
    else if (document.selection && document.selection.type != "Control") { 
 
     text = document.selection.createRange().text; 
 
    } 
 
    
 
    return text; 
 
}
<div contenteditable="true" style="border: solid 1px black; width: 300px;">hello world</div> 
 
<input type="button" onclick="alert(getSelectedText())" value="Get selected text" />

Verwandte Themen