假设我有以下代码:
<html>
<head></head>
<body>
<div id="d">some text</div>
<script type="text/javascript">
var d = document.getElementByid('d');
var innerText = d.innerText || d.textContent;
innerText = 'new text';
</script>
</body>
</html>
我想更改id ='d'的div标签的文本值。不幸的是,上面的块代码不起作用,文本内容也没有变化。
如果执行以下配方,它将起作用:
if (d.innerText) d.innerText = 'new text';
else d.textContent = 'new text';
但是我不喜欢上面的食谱,因为它不紧凑。
您有什么建议为什么第一种方法行不通?
最佳答案
您可以获取属性并使用该属性,而不用进行多次分配
var text = ('innerText' in d)? 'innerText' : 'textContent';
d[text] = 'New text';
关于javascript - 跨浏览器innerText用于设置值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11646398/