首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jQuery代码转换为本机Javascript

问将jQuery代码转换为本机Javascript
EN

Stack Overflow用户
提问于 2017-03-16 06:47:36
回答 1查看 2.6K关注 0票数 0

如果我将我的jQuery代码转换成Javascript版本。我有两个页面: page.html和side.html,page.html从side.html文档中获取div id和内容。它工作得很好,但我不喜欢在我的项目中使用jQuery。如何将代码修改为原生Javascript?

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
 <head>
  <title>Useless</title>
  <script type='text/javascript' src='jquery-3.1.1.min.js'></script>
 </head>
 <body>
   Hello
   <script type="text/javascript">
      jQuery.ajax({
              url: "side.html",
              success: function(result) {
                var html = jQuery('<div>').html(result);
                  alert(html.find("div#a").attr("id"));
                  alert(html.find("div#a").html());
                  alert(html.find("div#b").attr("id"));
                  alert(html.find("div#b").html());
             },
         }); 
  </script>
 </body>
</html>

我写了这段代码,但它不工作:(

代码语言:javascript
复制
var html = new XMLHttpRequest();
 html.open("POST","side.html", true);
 success: function(result) {
 var html = ('<div>').html(result);
  alert(html.find("div#a").attr("id"));
  alert(html.find("div#a").html());
  alert(html.find("div#b").attr("id"));
  alert(html.find("div#b").html());
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 07:03:08

从您的尝试来看,您可能认为jQuery和原生API几乎相同。他们不是,所以需要更多的改变。

注意下面代码中的注释。还要注意,我删除了alert调用,而使用了console.log,因此一定要打开开发人员控制台。

代码语言:javascript
复制
// Create and open the XHR object
var xhr = new XMLHttpRequest();
xhr.open("POST","side.html", true);

// Attach an event handler that fires when the requested content has loaded
xhr.addEventListener("load", function(result) {
  var d = document.createElement('div'); // Create a new element
  d.innerHTML = xhr.responseText;        // Add the response text

  var a = d.querySelector("#a"); // Fetch the `a` element
  var b = d.querySelector("#b"); // Fetch the `b` element

  console.log(a.id, a.innerHTML); // Display the id and content of each
  console.log(b.id, b.innerHTML);
});

xhr.send();

有一个小的实用程序集合来减少冗余代码是很常见的。这里不需要太多东西,但一般来说,使用一些函数来缩短DOM选择和创建方法并不是一个坏主意。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42822160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档