前往外部组件,直到到达具有特定属性的组件

时间:2016-08-15 15:23:48

标签: javascript jquery html

示例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,但它需要知道高级的组件类型。

感谢任何帮助。 非常感谢你。

1 个答案:

答案 0 :(得分:1)

我认为'*[myAttribute]'会做得很好。

$(el).parents('*[myAttribute]');

定位当前脚本。你可以用

document.currentScript;

&#13;
&#13;
<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;
&#13;
&#13;