Javascript jQuery使用脚本附加html

Javascript jQuery使用脚本附加html,javascript,jquery,html,Javascript,Jquery,Html,我需要一些关于jQuery的帮助 当我试图通过$.get获取带有embded js页面内容的html时,效果很好。但当我试图将其附加到某个div时,所有脚本都将被删除 在控制台中,当我做这样的事情时,它看起来很好 $('.my_div').html() + '<script>alert("text")</script>' $('.my_div').html()+'警报(“文本”)' 但是当我做的时候 $('.my_div').html($('.my_div').ht

我需要一些关于jQuery的帮助

当我试图通过$.get获取带有embded js页面内容的html时,效果很好。但当我试图将其附加到某个div时,所有脚本都将被删除

在控制台中,当我做这样的事情时,它看起来很好

$('.my_div').html() + '<script>alert("text")</script>'
$('.my_div').html()+'警报(“文本”)'
但是当我做的时候

 $('.my_div').html($('.my_div').html() + '<script>alert("text")</script>')
$('.my_div').html($('.my_div').html()+'警报(“文本”))
脚本正在运行并正在删除

如何在不运行和删除的情况下将html+js代码附加到div

谢谢

UPD:

我的例子是:

index.html


正文

警报(“示例”) 正文

警报(“示例”) 正文

警报(“示例”)


$.get('get_news.php',函数(响应){
$('.massey')。追加(响应);
});

get_news.php

    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>

正文

警报(“示例1”) 正文

警报(“示例1”) 正文

警报(“示例1”)

我要去

<div class="masonry">
    <div class="a1">
        <p>text</p>
        <script>alert('example')</script>
    </div>
    <div class="a1">
        <p>text</p>
        <script>alert('example')</script>
    </div>
    <div class="a1">
        <p>text</p>
        <script>alert('example')</script>
    </div>

    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>

</div>

正文

警报(“示例”) 正文

警报(“示例”) 正文

警报(“示例”) 正文

警报(“示例1”) 正文

警报(“示例1”) 正文

警报(“示例1”)

如何操作?

如果不想删除原始内容,可以使用append。至于停止脚本标记的执行,一种方法是将脚本类型更改为
“text/html”
或使用html转义函数


如果不想删除原始内容,可以使用append。至于停止脚本标记的执行,一种方法是将脚本类型更改为
“text/html”
或使用html转义函数


这是
.html()
的默认行为-它将剥离脚本并
评估它们,同时将内容附加到DOM中。jQuery甚至提供了默认的剥离脚本的方法,而无需对脚本进行评估以防止XSS

如果您已经在页面中执行了一个脚本,那么大多数情况下您可以将代码放在同一个脚本中。但是,如果您真的想/需要向页面添加新脚本,可以通过以下方式完成:

$('.my_div')。追加($('',{text:'alert(“foo”);'});

这是
.html()
的默认行为-它将剥离脚本并
评估它们,同时将内容附加到DOM中。jQuery甚至提供了默认的剥离脚本的方法,而无需对脚本进行评估以防止XSS

如果您已经在页面中执行了一个脚本,那么大多数情况下您可以将代码放在同一个脚本中。但是,如果您真的想/需要向页面添加新脚本,可以通过以下方式完成:

$('.my_div')。追加($('',{text:'alert(“foo”);'});

您是否尝试将脚本添加为text()?您所说的“运行和删除”是什么意思?您想做什么?@xylar是的,没有成功=(@ExplosionPills,我在本例中是指$('.my_div').html($('.my_div').html()+'alert(“text”))我在浏览器中收到警报,在代码中没有关于警报(“text”)的任何单词=(您是否尝试将脚本添加为text()?您所说的“运行和删除”是什么意思?@xylar是的,但没有成功=(@ExplosionPills,我在本例中的意思是$('.my_div').html($('.my_div').html()+'alert(“text”))我在浏览器中收到警报,在代码中没有一个关于警报(“text”)的单词=(此
$('my_div'没有成功).append($('',{text:'alert(“foo”);}));
结果我只捕获foo,但需要获取alert('foo'))检查小提琴,它显然在DOM中附加了
script
标记。不过,这听起来像是一个-更新问题,告诉我们您试图解决的问题是什么,我们会找到更好的解决方法。感谢您为我指出
keepScripts
参数。此
$('.my_div')没有成功。附加($(“”,{text:'alert(“foo”);'}));
结果我只捕捉到foo,但我需要获取alert(“foo”)检查小提琴,它显然在DOM中附加了
脚本
标记。不过,这听起来像是一个-更新问题,告诉我们您试图解决的问题是什么,我们会找到更好的解决方法。感谢您为我们指出
keepScripts
参数。
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
<div class="masonry">
    <div class="a1">
        <p>text</p>
        <script>alert('example')</script>
    </div>
    <div class="a1">
        <p>text</p>
        <script>alert('example')</script>
    </div>
    <div class="a1">
        <p>text</p>
        <script>alert('example')</script>
    </div>

    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>
    <div class="b1">
        <p>text</p>
        <script>alert('example1')</script>
    </div>

</div>
$('.my_div').append($('<script>', { text: 'alert("foo");' }));