使用jquery访问脚本块

时间:2010-08-10 17:23:18

标签: javascript jquery

我有一个脚本块,在div元素中,在html响应之后附加。我想访问此块并为此脚本调用eval()函数。如何访问脚本块。

我尝试了$("#divId script"),但它不起作用。

<div id="divId">
    <script type="text/javascript">
    // some code here
    </script>
</div>

3 个答案:

答案 0 :(得分:3)

$("#divId script").html()

如果您不信任我,请点击http://jsfiddle.net/VZfMd/

答案 1 :(得分:3)

$("#divId script")适用于选择元素,但问题是:$("#divId script").text()在IE中不起作用,因为jQuery未设置为处理脚本元素中文本节点的跨浏览器差异

IE要求您访问脚本元素的 .text 属性,其他浏览器要求您访问 .textContent 。以下适用于我:

var scr = $("#divId script")[0],
    txt = "textContent" in scr ? scr.textContent : scr.text;

eval(txt);    

Example

答案 2 :(得分:1)

不确定为什么它在jQuery中不起作用,但是普通的DOM应该可以工作......

$(document.getElementById('divId').getElementsByTagName('script')[0])