来自jQuery的innerHTML和.html()之间的区别

有人能说出jquery .html()函数和innerHTML之间有什么区别吗?

 $(document).ready(function(){ $('#test_link').click(function(){ //$('#div_test_out').html("
alert('insider');asddsa
"); document.getElementById('div_test_out').innerHTML="
alert('insider');asddsa
"; }); }); TEST LINK :-)

当我使用第一个选项时,即jQuery,脚本内部运行,并且警报显示,但是如果我使用第二个选项与innerHTML(我虽然是相同的并且它们之间没有区别),脚本不起作用; – (

可能是什么原因?

jQuery的.html()方法是一个用于访问和操作innerHTML的多用途函数。 当用作setter时,它返回用于链接的jQuery集合。 当用作getter时,它返回集合元素内部的标记表示。

当你将它用作setter时 – 将标记写入元素–jQuery读取标记并从内部提取脚本。 然后它以一种导致它们执行的方式将它们分别添加到DOM中。 .html()隐式地导致一些操作(脚本处理为一个),而写入innerHTML只会导致innerHTML发生变化,但对该HTML的处理却很少。

设置innerHTML属性不会执行脚本。

jQuery包含为您执行脚本的特殊代码。

我认为这是正确的方法:

   TEST LINK :-)

为什么要将java脚本警报插入div?