解决innerHtml 在Jquery上使用无效果的问题 Published on May 9, 2020 in Java with 0 comment html JS Jquery **innerHTML是JavaScript原生的一种写法,给指定标签赋内容(并且若内容中有HTML标签,可以进行编译后显示,例: ```html document.getElementById("timeShow").innerHTML = "加载本页耗时 "+ (new Date().getTime()-t1) +" 毫秒"; ``` 或 使用Jquery的方式: ```html $("#timeShow").html('加载本页耗时 ' + loadTime + 'ms'); ``` innerHTML在JQuery中使用的话是无效果的, JQuery提供了三种方法实现指定标签赋内容:.html(),.val(),.text()。 三种方法区别具体: .html()用为读取和修改元素的HTML标签 对应js中的innerHTML .html()是用来读取元素的HTML内容(包括其Html标签), .html()方法使用在多个元素上时,只读取第一个元素:( 这句话实测是一个标签使用了多个.html()时,只有第一个.html()有效,假如一个标签同时使用了.html(),.text()也是第一个有效) .text()用来读取或修改元素的纯文本内容 对应js中的innerText text()用来读取元素的纯文本内容,包括其后代元素;.text()方法不能使用在表单元素上 .val()用来读取或修改表单元素的value值 .val()是用来读取表单元素的"value"值,.val()只能使用在表单元素上 关于三者的区别 .val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。 .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。** 本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。