我将文档的HTML源代码作为字符串,以及元素以此字符串开头的索引i
。
我想要一个函数getElementByIndex(i)
,它返回与页面HTML字符串中位置i
开始的元素对应的JavaScript DOM对象。
例如,我期望以下行为:
> var markup = document.documentElement.innerHTML;
> markup
"<head></head><body><div id="a"></div><div id="b"></div></body>"
> getElementByIndex(19) // 19 is the index of the first div's
// '<' character in the markup string
<div id="a"></div>
> getElementByIndex(19) === document.getElementById("a")
true
> getElementByIndex(19) === document.getElementById("b")
false
答案 0 :(得分:0)
function getElementByIndex(htmlString, tagName, index) {
var numOfEleBefore = htmlString.substr(0, index).split('<' + tagName).length - 1;
return element = document.getElementsByTagName(tagName.toUpperCase())[numOfEleBefore]
}
你可以试试这个,但它做了几个假设: