我有一个脚本块,在div元素中,在html响应之后附加。我想访问此块并为此脚本调用eval()函数。如何访问脚本块。
我尝试了$("#divId script")
,但它不起作用。
<div id="divId">
<script type="text/javascript">
// some code here
</script>
</div>
答案 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);
答案 2 :(得分:1)
不确定为什么它在jQuery中不起作用,但是普通的DOM应该可以工作......
$(document.getElementById('divId').getElementsByTagName('script')[0])