0
function T(x){ return (x.textContent) ? function(y){ x.textContent = y; } : function(y){ x.innerText = y; }; }

T(nodeA)('string');
nodeText = T(nodeB);
nodeText('string');

如果我更改(x.textContent)(x.textContent !== undefined)它可以在 Firefox 中使用。否则我没有错误,但没有任何反应。用萤火虫检查显示T(node);返回function(),这让我感到困惑。

我是 javascript 新手,但我认为这可能是一个错误?我认为它只能是真或假,它应该是真并返回第一个函数,但它也不返回。有人可以说为什么吗?

4

1 回答 1

1

textContent如果给定节点的 是一个空字符串,这将不起作用'',它的计算结果为false。这就是为什么你应该这样做(typeof x.textContent !== 'undefined')以确保财产的存在。

于 2012-06-03T05:59:47.337 回答