如何查找脚本标记的父级

时间:2011-09-13 10:20:01

标签: javascript jquery

如何找到相对于脚本位置的元素?例如,在下面的情况下,我希望getSelfParent返回$('button')元素

<button>
    <script>
        getSelfParent().click(function(){...});
    </script>
</button>

$(this).parent()无效。

编辑:

我想避免:

  • 在任何地方添加ID
  • 每次寻找self元素
  • 时遍历整个树

3 个答案:

答案 0 :(得分:5)

@Jakub M: this is the way I want to create buttons in my php.

尝试生成HTML | SCRIPT输出:

<button>
    <script id='RandomOrUniqueIdValue'>
        var script=document.getElementById('RandomOrUniqueIdValue');
        // var script=$('#RandomOrUniqueIdValue');
    </script>
</button>

答案 1 :(得分:2)

我认为没有办法访问脚本标记的父元素,因为脚本是在引用窗口对象时执行的,而不是它所在的html标记。

一般来说,不是在每个按钮元素中复制和粘贴相同/相似的javascript片段,只需给它们一个类并在单个js函数中访问它们就更有意义了

答案 2 :(得分:1)

你应该这样做:

<button>
    <script type="text/javascript" id="myscriptToHide1">
        jQuery('#myscriptToHide1').parents('button').hide();
    </script>
</button>