代码之家  ›  专栏  ›  技术社区  ›  hal

如何获取函数中父标记的属性值?

  •  0
  • hal  · 技术社区  · 6 年前

    我有以下HTML结构:

    <script>
        function process(){
            //how to retrive attr
            window.allert(attr); 
        }
    </script>
    <div attr="234234">
        <div onclick="process()">some content</div>
    </div>
    

    如何获取函数中父标记的属性值?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Mamun    6 年前

    你必须通过 this 到函数,然后尝试 getAttribute() parentNode 当前元素的:

    <script>
        function process(el){
            //how to retrive attr
            window.alert(el.parentNode.getAttribute('attr')); 
        }
    </script>
    <div attr="234234">
        <div onclick="process(this)">some content</div>
    </div>

    在jquery中,可以使用 .parent() .attr()

    $(el).parent().attr('attr')
    

    您也可以使用 event.target 如下所示:

    <script>
        function process(e){
            //how to retrive attr
            window.alert(e.target.parentNode.getAttribute('attr')); 
        }
    </script>
    <div attr="234234">
        <div onclick="process(event)">some content</div>
    </div>
        2
  •  1
  •   Mohamed-Yousef    6 年前

    在标记jquery时..你可以使用 .parent() .attr()

    function process(el){
        alert($(el).parent().attr('attr'));
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div attr="234234">
        <div onclick="process(this)">some content</div>
    </div>