来自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包含为您执行脚本的特殊代码。