我有一个生成HTML的javascript:
function showdropdown(name1,sel, param){
var dval="";
dval = "<select name=\"" + name1 + "\" id=\"" + name1 + "\" >";
dval += "<option value=\"\">Option</option>\r\n";';
如何为此添加 class =“my_style”?它一定非常容易,但不幸的是我对javascript结构与HTML结合一无所知。
我试过了:
dval = "<select name=\"" + name1 + "\" id=\"" + name1 + "\" class=\""mystyle"\">";
哪个不起作用:(
答案 0 :(得分:0)
你真的应该使用引号/标记这样的东西,它比转义引号容易得多。
另外,你没有在mystyle
上使用加号运算符 dval = "<select name='" + name1 + "' id='" + name1 + "' class='" + mystyle + "'>";
答案 1 :(得分:0)
您要添加课程my_style
还是mystyle
?如果您想要my_style
,则缺少下划线。
如果类名不是变量,则无需添加双引号:
dval = "<select name=\"" + name1 + "\" id=\"" + name1 + "\" class=\"mystyle\">";
答案 2 :(得分:0)
我无法确定你帖子中的信息,但我猜你的mystyle
变量没有引用任何内容。你可能正在寻找类似......的东西。
dval = "<select name=\"" + name1 + "\" id=\"" + name1 + "\" class=\"my_style\">";
您正在做的事情(即创建标记的字符串表示)应该有效,只要您计算出您创建的任何语法错误等。但这往往是您的方法的问题:它很容易导致错误,尤其是当HTML变得越来越复杂时。
您可能需要考虑使用可用的DOM方法来创建和使用元素。
e.g。
var divElement = document.createElement('div');
divElement.id = 'some-id'; // Add an ID attribute
divElement.className = 'error'; // Set (and replace any existing) class attribute
divElement.classList.add('bordered'); // Another method of adding a class (no replace)
divElement.textContent = 'Hello, hello!'; // Set the text content… it's all good
document.body.appendChild(divElement); // Append the node to the document
您可以查看此JS Fiddle以查看其实际效果。如果您想了解有关可用DOM方法的更多信息,可以查看Node和Element文档。
评论@Seano666的答案......他说对,使用两种引号可以让事情比逃避更容易。但是你应该使用外部单引号,并使用HTML的双引号作为标准。