Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
纯JavaScript替代jQuery';s.html()_Javascript_Jquery - Fatal编程技术网

纯JavaScript替代jQuery';s.html()

纯JavaScript替代jQuery';s.html(),javascript,jquery,Javascript,Jquery,下面的代码用于ajax加载div 我唯一的问题是,.html()呈现原始html,因此我认为用纯JS替换它可能是一个好主意,这样我的视图就没有任何转义的原始html 我很想听听你对此的想法 $(document).ready(function() { $('.ajax_load').each(function(index, element) { var url = $(element).data('remote-url') if (url) {

下面的代码用于ajax加载div

我唯一的问题是,
.html()
呈现原始html,因此我认为用纯JS替换它可能是一个好主意,这样我的视图就没有任何转义的原始html

我很想听听你对此的想法

$(document).ready(function() {
      $('.ajax_load').each(function(index, element) {
        var url = $(element).data('remote-url')
        if (url) {
          $.get(url, function(responseText) {
            $(element).html(responseText);
          })
        } else {
          console.log("missing url for ajax!")
        }
      })
    })
jQuery的
.html()
方法获取一个字符串并通过html解析器运行该字符串,以便处理任何html标记并更新DOM。jQuery的
.text()
方法也接受一个字符串,但该字符串(即使它包含HTML)不会传递给HTML解析器进行处理,任何标记都会转义并作为文本内容包含在页面中


如果不想使用jQuery,可以使用DOM
.innerHTML
()属性完成与
.html()
相同的任务

如果您想完成与
.text()
相同的任务,可以使用专有的/遗留的
.innerText
()属性或标准的
textContent
()DOM属性(但IE在IE 9之前不支持后者)。

您可以使用:

Node.textContent属性表示节点的文本内容 以及它的后代


几乎每一行都使用jQuery,而不仅仅是处理响应的部分。因此,您可能会加载jQuery库。你不妨用它。尝试使用
$(元素).text(响应文本)
如果您只想禁用呈现原始html,则可以改为禁用。您可以始终查看jQuery源文件
元素。innerHTML='
在您的网站页脚中使用,这将基本上消除对
就绪
和许多其他旧的、性能不太好的jQuery方法的需要。
innerText
不是标准的,这是一个IE的东西,它是由微软创建的,但在所有主流浏览器中都得到了很好的支持。但是,不,这不是一个标准。只是一个事实上的标准。@ScottMarcus我没有添加括号,我使用markdown将文本转换为链接。另外,我不确定您是否了解polyfills的工作原理。它只是检查功能是否存在,然后在javascript中为遗留浏览器重新创建它。它不像插件或flash小程序等@ScottMarcus你知道这是互联网。。每个人都直接参与了这个答案。我最初的修订被批准,因为社区同意它提高了易读性。您的帖子很难用长URL跟踪。我只是想帮忙。请不要这么消极。
element.textContent = responseText;