Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML标记中查找子元素的索引_Javascript_Jquery - Fatal编程技术网

Javascript 在HTML标记中查找子元素的索引

Javascript 在HTML标记中查找子元素的索引,javascript,jquery,Javascript,Jquery,我想在HTML标记中找到元素的子元素所在的实际索引 假设我有以下标记: <p id="foo">Lorem <i>ipsum</i> d<strong>ol</strong>ar</p> Lorem ipsum dolar$foo.html.indexOfchildren[i].outerHTML应该可以工作您只需对包含父节点内部html的字符串使用indexOf,然后搜索包含子节点外部html的字符串: var hay

我想在HTML标记中找到元素的子元素所在的实际索引

假设我有以下标记:

<p id="foo">Lorem <i>ipsum</i> d<strong>ol</strong>ar</p>

Lorem ipsum dolar

$foo.html.indexOfchildren[i].outerHTML应该可以工作

您只需对包含父节点内部html的字符串使用indexOf,然后搜索包含子节点外部html的字符串:

var haystack=document.querySelector'foo'; var针=haystack.querySelector'i'; var startIndex=haystack.innerHTML.indexOfneedle.outerHTML; var endIndex=startIndex+Pinele.outerHTML.length; document.writeln'start:'+startIndex+'end:'+endIndex;

Lorem ipsum dolar

大多数问题/答案涉及实际位置,而不是HTML标记中的位置。我不确定我是否明白,你能解释一下区别吗?@bleeteddod我不想知道200px、100px等的相对位置,我也不想知道ipsum是foo和ol的第一个孩子。我想知道这些对象在foo的HTML标记中位于/开始的位置。那么在这种情况下,预期的产出是多少?@MichałMiszczyszyn:5和19,如上所述。我将发布一个工作示例OK,您需要的是父元素的子元素中的元素索引。但是为了什么目的,这里的结局是什么?所以我们有了背景。这确实起了作用。为了避免两个元素完全相同的不太可能的情况,它与子字符串结合使用,就像一个符咒。非常感谢你。
var $foo = $('#foo');
var children = $foo.children();
for (var i = 0; i < children.length; i++) {
    console.log(children[i]);
}