为什么这两个变量不同?我一直在阅读documentation,我仍然没有完全掌握它。
变量1:
<textarea id="code">
//...[buncha code here]
</textarea>
var example = document.querySelector('#code');
变量2:
var example =“[buncha code here]”;
用您想要的任何代码替换括号内。在引用第一个变量时,您必须使用 example.value
而不是 example
,否则它会返回 [object HTMLTextAreaElement]
。那是因为它不是一个字符串吗?
如何手动设置变量(如变量2示例中所示)以包含可以评估的代码,例如 eval(example.value)
?
答案 0 :(得分:1)
在变量1中,示例是一个对象,一个HTML元素。
在变量2中,示例是一个字符串。
答案 1 :(得分:0)
在变量2 示例中,您不使用eval(example.value)
,因为它是一个字符串。您只需使用eval(example)
即可。在变量1 示例中,您需要example.value
,否则它将是DOM元素。在变量1 示例中,example.id
将是字符串code
,其中example.value
是value
attrubute,在{{1}的情况下,看起来真的像<textarea>
,但由于它是表单输入,因此使用innerHTML
。
答案 2 :(得分:0)
var example = document.querySelector('#code').value;
document.querySelector('#code')返回DOMElement。您只需要将该元素的value属性赋值给您的变量而不是整个元素。