2012-11-06 25 views
1

的JavaScript语法糖有没有一种简单的方法在一行为对象的值设置器

(node.innerText || node.textContent) = text 
// node = DOM node 
// text = string 

显然上述不起作用做到这一点。

+0

我测试像'node.innerText? node.innerText = text:node.textContent = text',虽然不像语法糖那么甜蜜,但似乎工作正常。 – Masiar

回答

1

首先,不那么紧凑尝试

node.innerText ? node.innerText = text : node.textContent = text 
+0

ahhh,但这又是太冗长 –

0

使用jQuery缩短你的语法

使用.text()方法

所以你的代码会

if($(selector).text() = text){ 
// your code here 
} 
+0

没有提到jquery –

2

只需使用node.innerText = node.textContent = text,这是无害的。

+0

我喜欢这个。它将适用于上述场景,但在我接受之前,我仍会继续寻找几分钟的时间 –

+0

@JibiAbraham完全同意,如果有人能够提出实际的有条件任务,那将是非常棒的。但我很悲观,因为看着[spec](http://www.ecma-international.org/ecma-262/5.1/#sec-11.13.1),它没有留下太多的空间。 –

2

有人会做这样的:

node['textContent' in node? 'textContent' : 'innerText'] = text 
+0

看中。我可能会在某处使用它。但仍然非常详细 –

+1

那么'window.TEXTPROP ='textContent'在节点呢? 'textContent':'innerText'和'node [TEXTPROP] = text'? – Leonid

+0

这似乎是我可以在更高层次上使用的东西。好一个 –