我具有以下html结构:
<script>
function process(){
//how to retrive attr
window.allert(attr);
}
</script>
<div attr="234234">
<div onclick="process()">some content</div>
</div>
如何获取函数中父标记的属性值?
答案 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>