获取第二个javascript的父div ID?

时间:2013-09-27 16:39:43

标签: javascript jquery html

我有一个这样的div:

<div id="mainDiv">
<script>
javascript here...
</script>
</div>

我基本上想要得到它里面的div的ID。

我已经尝试过使用jQuery和经典的javascript来执行此操作,但它一直未定义返回。

有没有人有任何想法?感谢

6 个答案:

答案 0 :(得分:3)

由于broswer从上到下读取代码,您可以这样做:

Vanilla JS

var scriptTags = document.getElementsByTagName('script');
var id = scriptTags[scriptTags.length - 1].parentNode.id;

<强>的jQuery

var id = $('script').last().parent().prop('id');

当它读取此代码时,最后一个脚本标记是浏览器正在读取的标记。

这是一个小提琴:http://jsfiddle.net/nb234/

答案 1 :(得分:2)

查看http://jsfiddle.net/78N9A/1/

<div id="parent">
   <script id="scr">
       function show()
       {
         alert('hello');
       }
    </script>
</div>

window.onload = function(){
    var ele = document.getElementById('scr').parentNode;
    alert(ele.id);

}

答案 2 :(得分:0)

如果我理解正确,你说的是父div上的id是事先未知的,你想用JS来确定它是什么。

如果您无法编辑脚本标记以添加ID,也许您可​​以在该块中执行document.write()以添加一个隐藏元素,然后您可以测试以查看该元素的父元素。

http://jsfiddle.net/AtRYF/

答案 3 :(得分:0)

<script id="script">

然后

$('#script').parent();

答案 4 :(得分:0)

jQuery(document).ready(function($) {    

    $('div').attr('id');

});

应该为您提供所需的价值。

答案 5 :(得分:0)

JAVASCRIPT: 为您的脚本提供一个ID,然后使用parentNode向上移动DOM。

var the_div_you_want = document.getElementById("skript").parentNode.id;

JQUERY: 非常肯定.parent()就是你所追求的

$('#scriptId').parent().attr("id");

无论如何,你需要找到一些方法来找到脚本并向上移动dom来找到这种关系。希望这会有所帮助。

http://jsfiddle.net/Zbuf8/1/