Как получить значение атрибута родительского тега в функции? - PullRequest
0 голосов
/ 17 января 2019

У меня есть следующая структура HTML:

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

Как получить значение атрибута родительского тега в функции?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Вы должны передать 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>
0 голосов
/ 17 января 2019

пока вы помечаете 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...