我想在我的網頁上選擇一定範圍。如果元素被隱藏,則IE(Internet Explorer)和Edge會報錯。我如何將選擇添加到隱藏元素上的文檔?在Internet Explorer的隱藏元素上添加選擇引發錯誤
例
<html>
<head>
<meta name="robots" content="noindex">
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
<style id="jsbin-css">
#d2{
display:none;
}
</style>
</head>
<body>
<div id="d1">div1</div>
<div id="d2">div2</div>
<div id="d3">div3</div>
<a onclick="doSel()" href="javascript:void(0)">click me:)</a>
<script id="jsbin-javascript">
function doSel(){
var element = $("#d2").contents()[0];
var myRange = createRange(element,1, element,2);
console.log(myRange);
document.getSelection().removeAllRanges();
document.getSelection().addRange(myRange);
}
function createRange(startContainer, startOffset, endContainer, endOffset){
var rangeObj = document.createRange();
rangeObj.setStart (startContainer, startOffset);
rangeObj.setEnd (endContainer, endOffset);
return rangeObj;
}
</script>
</body>
</html>
在此頁面中我選擇在Firefox和Chrome中的div 「我」 #D2,但IE瀏覽器給我的錯誤unspecified error
和邊緣給我Could not complete the operation due to error 800a025e.
。這些錯誤引發在這條線上:document.getSelection().addRange(myRange);
如何解決問題並在IE和Edge中爲我的文檔選擇添加範圍?
如果你已經做了[本搜索(https://www.google.com/search?q=錯誤%20800a025e%20selection)請告訴我們。如果不是,爲什麼不呢? – mplungjan
@mplungjan我點擊搜索,但沒有找到任何有用的答案。使用'removeAllRanges()'的答案在我的情況下不起作用。這就是爲什麼我問:) –