2017-07-15 75 views
0

你好我想在一个JS变种一些HTML输出存储,输出到使用“的getElementById”的网页...用JS输出和HTML输出保存在var中协助

我遇到的问题是与单引号与双引号以及何时在彼此包裹他们...

这里是我的代码:

var buttonOutput1="<br/>"; 
var buttonOutput2="<button onclick="DealCard('player')">Hit</button>"; 
var buttonOutput5=buttonOutput1+buttonOutput2; 

document.getElementById('buttonArea').innerHTML = buttonOutput5; 

我知道一点关于这一点,我知道你能够包围单引号,然后内的东西用双引号括起来,它都可以正常工作。

但是因为我想将它全部存储在一个变量中,所以我需要把它全部放在第三组引号中,所以这是我的问题。

所以只是卡在我应该在这里做什么,想知道是否有人可以帮助。

感谢,G

****我的解决方法下午12时51分EST ****

能算出这个由摔得粉碎:

var buttonOutput1="<br/>"; 
var buttonOutput2a="DealCard('player')"; 
var buttonOutput2b='<button onclick="' + buttonOutput2a + '">Hit 
Me</button>'; 
var buttonOutput5=buttonOutput1+buttonOutput2b; 





document.getElementById('buttonArea').innerHTML = buttonOutput5; 
+1

如果你的目标浏览器支持的ECMAScript 6(https://caniuse.com/#feat=template-literals),你可以使用''反引号(HTTPS://developer.mozilla .org/en-US/docs/Web/JavaScript/Reference/Template_literals),这将允许您混合双引号和单引号,无需转义。 – yuriy636

+0

非常感谢yuriy - 写完这篇文章之后我发现了一种不同的方式,但我会看着你的输入 - 我将它分解成多个步骤 - 我相信你的方式会更好所以我会看看它。我将用我的新代码更新我的问题... –

回答

2

您可以创建使用创建元素(DOM级别2)的DOM节点并将函数附加到onclick属性。

var domNode = document.createElement('button'); 
 
domNode.innerHTML = 'Click me'; 
 
domNode.onclick = function() { 
 
    alert("hello world") 
 
}; 
 

 
document.getElementById('hook').appendChild(domNode);
<div id="hook"></div>

+0

谢谢 - 我相信这是一个更好的方法 - 将会看到这个... –