首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >appenChild不是我的php页面中的函数。

appenChild不是我的php页面中的函数。
EN

Stack Overflow用户
提问于 2018-09-04 20:14:57
回答 1查看 47关注 0票数 1

大家好,为什么它返回"appenChild不是一个函数?“

代码语言:javascript
复制
function showBooks(ajax) {
         var books = ajax.responseXML.getElementsByTagName("book");
for (var i = 0; i < books.length; i++) {
    var titleNode  = books[i].getElementsByTagName("title")[0];
    var authorNode = books[i].getElementsByTagName("author")[0];
    var title  = titleNode.firstChild.nodeValue;
    var author = authorNode.firstChild.nodeValue;
    var year = books[i].getAttribute("year");

    var li = document.createElement("li");
    li.innerHTML = title + ", by " + author + " (" + year + ")";
    $("books").appendChild(li);
}

在一个页面中,我没有包括它的工作原理。如果我包含这些js,它就不能工作。我需要所有的javascript

代码语言:javascript
复制
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> 
   </script> 
    <script src="js/bootstrap.min.js" ></script>
    <script src="vendor/jquery/jquery.min.js"></script>
    <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
    <!-- Plugin JavaScript -->
    <script src="vendor/jquery-easing/jquery.easing.min.js"></script>

我不能在javascript上做这么多工作,对不起

EN

回答 1

Stack Overflow用户

发布于 2018-09-04 20:22:12

$("books")是一个jQuery对象,而不是HTMLElement,所以它没有像appendChild那样的HTMLElement方法。jQuery对象所具有的是$(...).append(),它适用于您的情况:

代码语言:javascript
复制
function showBooks(ajax) {
  var books = ajax.responseXML.getElementsByTagName("book");
  for (var i = 0; i < books.length; i++) {
    var titleNode = books[i].getElementsByTagName("title")[0];
    var authorNode = books[i].getElementsByTagName("author")[0];
    var title = titleNode.firstChild.nodeValue;
    var author = authorNode.firstChild.nodeValue;
    var year = books[i].getAttribute("year");

    var li = document.createElement("li");
    li.innerHTML = title + ", by " + author + " (" + year + ")";
    $("#books").append(li); // use jQuery append method instead of appendChild
  }
}

或者,您可以获取底层HTMLElement,并在其上使用appendChild

代码语言:javascript
复制
function showBooks(ajax) {
  var books = ajax.responseXML.getElementsByTagName("book");
  for (var i = 0; i < books.length; i++) {
    var titleNode = books[i].getElementsByTagName("title")[0];
    var authorNode = books[i].getElementsByTagName("author")[0];
    var title = titleNode.firstChild.nodeValue;
    var author = authorNode.firstChild.nodeValue;
    var year = books[i].getAttribute("year");

    var li = document.createElement("li");
    li.innerHTML = title + ", by " + author + " (" + year + ")";
    $("#books").get(0).appendChild(li)); // use appendChild on the HTMLElement
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52166131

复制
相关文章

相似问题

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