-1

创建文档片段、向其附加元素并返回该片段时出现错误。我过去使用过文档片段(在此示例之外滥用它们)并且从未遇到此错误。在开发人员控制台中,它将此列为错误来源:

fragment.appendChild($balanceNumber, $balanceSign);

错误

Uncaught NotFoundError:试图在不存在的上下文中引用节点。

功能

var constructBalanceFragment = function(balance) {
    var $balanceNumber, $balanceSign, fragment, sign;
    fragment = document.createDocumentFragment();
    $balanceNumber = $('<span class="balance_number"></span>');
    $balanceSign = $('<span class="balance_sign"></span>');
    if (balance > 0) {
      sign = "+";
      $balanceSign.addClass("positive_number");
    } else if (balance < 0) {
      sign = "-";
      $balanceSign.addClass("negative_number");
    } else {
      sign = "";
    }
    $balanceNumber.text(balance);
    $balanceSign.text(sign);
    fragment.appendChild($balanceNumber, $balanceSign);
    return fragment;

编辑

我已经尝试过了,但在有人问之前仍然遇到同样的错误

fragment.appendChild($balanceNumber);
fragment.appendChild($balanceSign);
4

2 回答 2

2

这更接近您的原始版本并且似乎可以正常工作,并保持 jQuery 的精神:

$(fragment).append($balanceNumber, $balanceSign);

http://jsfiddle.net/TfDXD/1/

于 2013-08-23T21:39:10.517 回答
1

解决方法

我通过为将来遇到此问题的人使用$object.appendTo(fragment)vsfragment.appendChild($object)来解决此问题。

于 2013-08-23T21:37:51.483 回答