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

时间:2019-01-17 14:30:05

标签: javascript jquery html dom

我具有以下html结构:

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

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

2 个答案:

答案 0 :(得分:1)

在标记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>

答案 1 :(得分:1)

您必须将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>