示例html代码(看起来很奇怪,但我的目的是表明外部组件可以是任何东西)
position:
absolute;
我想要的是,从内部脚本开始,在激活ajax调用之前,我想前往外部父组件,直到我可以到达具有myAttribute的组件。然后我将获取myAttribute的值并将其填入我的网址<div>
<div/a/p/.. myAttribute="123">
<p>
<a>
<script type="text/javascript">
jQuery.ajax({url: "local.host?attribute= "});
</script>
</a>
</p>
</div/a/p/..>
</div>
我找到了最接近的JQuery,但它需要知道高级的组件类型。
感谢任何帮助。 非常感谢你。
答案 0 :(得分:1)
我认为'*[myAttribute]'
会做得很好。
$(el).parents('*[myAttribute]');
定位当前脚本。你可以用
document.currentScript;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<div>
<div/a/p/.. myAttribute="123">
<p>
<a>
<script type="text/javascript">
var self = document.currentScript,
e = $(self).closest('*[myAttribute]'),
attrVal = (e.attr('myAttribute') );
console.log( attrVal );
// commented
// jQuery.ajax({url: "local.host?attribute="+attrVal });
</script>
</a>
</p>
</div/a/p/..>
</div>
&#13;