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的新手,但我认为这可能是一个错误?我认为它只能是真或假,它应该是真的并且返回第一个函数但它也不会返回。有人能说出原因吗?
答案 0 :(得分:1)
如果给定节点的textContent
为空字符串''
,则其无效,其结果为false
。这就是为什么你应该(typeof x.textContent !== 'undefined')
来确保财产的存在。