有没有办法在jquery的某个div中触发内联javascript执行?
我在一个带有内联javascript的页面上有一些容器。在页面加载时自动触发它之后,有没有办法再次触发它的执行有没有办法在jquery的某个div中触发内联javascript执行?,javascript,jquery,events,Javascript,Jquery,Events,我在一个带有内联javascript的页面上有一些容器。在页面加载时自动触发它之后,有没有办法再次触发它的执行 <div id="mydiv"> <script type='text/javascript'>alert("trigger me again");</script> </div> 警惕(“再次触发我”); 您可以将其分配给函数并设置计时器事件。。。javascript中有两种类型的计时器(setTimeout和setInte
<div id="mydiv">
<script type='text/javascript'>alert("trigger me again");</script>
</div>
警惕(“再次触发我”);
您可以将其分配给函数并设置计时器事件。。。javascript中有两种类型的计时器(setTimeout和setInterval)。但是,也有一些。您可以将其分配给函数并设置计时器事件。。。javascript中有两种类型的计时器(setTimeout和setInterval)。但是,也有一些。您需要创建一个函数:
<script type='text/javascript'>
function doSomething() {
alert("trigger me again");
}
doSomething(); //Call the function immediately
</script>
您需要创建一个函数:
<script type='text/javascript'>
function doSomething() {
alert("trigger me again");
}
doSomething(); //Call the function immediately
</script>
我要做的是使内联javascript调用成为一个函数。然后,在页面加载之后,您可以反复调用该函数。我要做的是将内联javascript调用变成一个函数。然后,您可以在页面加载后反复调用该函数。您可以尝试:
eval($('script',$('mydiv')).text()代码>
想一想你可以试试:
eval($('script',$('mydiv')).text()代码>
只是想一想,我想你可以选择你的元素,然后计算里面的代码
比如:
$('script').each(
function() {
eval($(this).text());
}
);
我想你可以选择你的元素,然后对里面的代码求值
比如:
$('script').each(
function() {
eval($(this).text());
}
);
为什么你认为这是一个可以接受的评估地点?我认为这只是自找麻烦,因为它允许在它的位置插入其他内容(当然,我们讨论的是DOM更改,因此无法直接找到太多不好的用法,但我仍然认为这段代码很臭…#CodeSneet)如果我坚持使用这种HTML,我会这么做。可能是eval($('#mydiv脚本').text()
更清晰。@drachenstern:至少我不会,因为浏览器就是这么做的。这段代码无论如何都会运行,那么危险在哪里呢?看到eval()
并大喊“代码气味”有点太急了。这很有效,谢谢。你为什么认为这是自找麻烦?脚本不是用户创建的。@Tomalak我想这只是对指令的下意识反应,指令中添加了eval语句。我觉得浏览器必须在初始插入时进行评估,但我仍然发现它有“代码气味”。我想我必须等待,看看在那种情况下我会怎么做,因为我真的不知道所有的变量,是吗?我猜这就是为什么我们是人类,对如何做事有不同的看法。为什么你认为这是一个可以接受的评估的地方?我认为这只是自找麻烦,因为它允许在它的位置插入其他内容(当然,我们讨论的是DOM更改,因此无法直接找到太多不好的用法,但我仍然认为这段代码很臭…#CodeSneet)如果我坚持使用这种HTML,我会这么做。可能是eval($('#mydiv脚本').text()
更清晰。@drachenstern:至少我不会,因为浏览器就是这么做的。这段代码无论如何都会运行,那么危险在哪里呢?看到eval()
并大喊“代码气味”有点太急了。这很有效,谢谢。你为什么认为这是自找麻烦?脚本不是用户创建的。@Tomalak我想这只是对指令的下意识反应,指令中添加了eval语句。我觉得浏览器必须在初始插入时进行评估,但我仍然发现它有“代码气味”。我想我必须等待,看看在那种情况下我会怎么做,因为我真的不知道所有的变量,是吗?我猜这就是我们人性化的原因,那些关于如何做事的不同意见。如果我能重构代码,这将是最好的解决方案,谢谢。如果我能重构代码,这将是最好的解决方案,谢谢。