DOM操作通过不同的相对位置最终获取某个元素,是相同的

DOM操作获取不同位置的相同元素,他们会相等吗?

答案是否定的,测试一下:

<html5>
    <head>
        <meta charset="utf-8">
        <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js">script>
        <title>Jquery与DOM测试title>
    head>
    <body>
        
        <div id="div1"><span onclick="test(this)">这个spanspan>div>
        <br>
        <br>
        <div id="div2"><span onclick="test(this)">这个spanspan>div>
    body>
    <script>
            //点击div1中的span通过this传过来dom对象d_obj
        function test(d_obj){
            //获取div2的span(jquery转dom与dom方式直接获取相同)
            console.log($("#div2 span")[0]);
            //比较两者
            if($("#div2 span")[0] == d_obj){
                console.log("即使所处位置不一样,但是标签内容相同就相等");
            }else{
                console.log("不一样的位置即使标签相同也是不同的");
            }
        }
    script>
    html>

DOM操作通过不同的相对位置最终获取某个元素,是相同的_第1张图片

可能对象中有值来区分不同位置的元素,因此即使两个标签完全相同,哪怕从内容到属性都相同,获取元素后的对象两者不相等。

你可能感兴趣的:(js)