2012-10-18 24 views
0

有誰知道如何在JavaScript中選擇IE8中的節點(元素)? 不使用第三方庫是首選。如何在IE8中選擇JavaScript中的DOM節點?

在IE9中,你可以這樣做:

var sel = window.getSelection(); 
sel.removeAllRanges(); 
var range = document.createRange(); 
range.selectNode(node); 
sel.addRange(range); 

你怎麼能在IE8做到這一點?

回答

1

對於較老的IE它的這個,提供node是一個元素:

var range = document.body.createTextRange(); 
range.moveToElementText(node); 
range.select(); 

對於一個完整的跨瀏覽器的解決方案,請參閱

https://stackoverflow.com/a/2044793/96100

2

這裏是我使用的代碼,它應該全線工作:

var sel, range; 
    if(window.getSelection && document.createRange) { 
     range = document.createRange(); 
     range.selectNodeContents(node); 
     sel = window.getSelection(); 
     sel.removeAllRanges(); 
     sel.addRange(range); 

    } else if(document.body.createTextRange) { 
     range = document.body.createTextRange(); 
     range.moveToElementText(node); 
     range.select(); 
    } 
相關問題