我知道这是一个非常常见的错误,但是我无法弄清楚为什么它不起作用。

我想动态更改跨度的值。简单吧?我尝试过$ span.innerHTML =“ text”和$ span.innerText =“ text”,它们什么也不做,但是不会抛出任何错误。我最近的尝试是这样的:

var $resourceSpan = $("#divname"+dynamic_variable);
var stringVar = functionThatReturnsString();
      while( $resourceSpan.firstChild ) {
        $resourceSpan.removeChild( $resourceSpan.firstChild );
      }
      var textNode = document.createTextNode(stringVar);
      $resourceSpan.appendChild( textNode );


有谁知道我为什么抛出这个错误?谢谢

最佳答案

您正在处理jQuery对象,诸如removeChild()和appendChild()之类的方法属于dom元素,而不属于jQuery对象。

要删除元素的所有内容,您可以使用.empty()并设置元素的文本内容,您可以使用.text(),但是使用.text()会替换现有内容,因此您可以使用



var $resourceSpan = $("#divname" + dynamic_variable);
var stringVar = functionThatReturnsString();
$resourceSpan.text(stringVar);

关于javascript - appendChild不是函数-我在做什么错?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32084995/

10-09 23:01