Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 指定的css类不';从变量赋值时不工作_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 指定的css类不';从变量赋值时不工作

Javascript 指定的css类不';从变量赋值时不工作,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在页面内动态创建html元素 我在这个动态元素上绑定事件,比如 $('#fields').on('input', '.myClass', function (e) { }); 在js代码中我注入了类似的元素(这适用于硬编码的css类) “” 但当我从变量更改css类名的代码时,它就不起作用了 var cssClass= "form-control myClass"; '<tr><td><input id='+myObj.id + ' class='+css

我正在页面内动态创建html元素 我在这个动态元素上绑定事件,比如

$('#fields').on('input', '.myClass', function (e) {

});
在js代码中我注入了类似的元素(这适用于硬编码的css类)

“”
但当我从变量更改css类名的代码时,它就不起作用了

var cssClass= "form-control myClass";
'<tr><td><input id='+myObj.id + ' class='+cssClass +'type="text" value='+myObj.Value +' name="somename"></td></tr>'
var cssClass=“表单控制myClass”;
''
在原始代码中,该属性周围有引号

在新代码中,引号不再是字符串的一部分

由于字符串变量的值包含空格,因此不会将其视为单个属性值。别忘了你的名言


将字符串组合在一起形成HTML容易出错,并且很难调试。不要这样做

使用DOM或jQuery构建数据结构会使代码更加冗长,但可读性更高。另外,您不必担心特殊字符(如空格、
&
)会自动正确编码

var myObj = { Value: 123 };
var row = $("<tr />").append(
    $("<td />").append(
        $("<input />")
            .attr("id", myObj.id)
            .addClass("form-control")
            .addClass("myClass")
            .attr("type", "text")
            .val(myObj.Value)
            .attr("name", "somename")
    )
);
console.log(row[0]);
var myObj={Value:123};
变量行=$(“”)。追加(
$(“”)。附加(
$("")
.attr(“id”,myObj.id)
.addClass(“表单控件”)
.addClass(“myClass”)
.attr(“类型”、“文本”)
.val(myObj.Value)
.attr(“姓名”、“某人姓名”)
)
);
console.log(第[0]行);
class="form-control myClass"
class='+cssClass +'type="text"
var myObj = { Value: 123 };
var row = $("<tr />").append(
    $("<td />").append(
        $("<input />")
            .attr("id", myObj.id)
            .addClass("form-control")
            .addClass("myClass")
            .attr("type", "text")
            .val(myObj.Value)
            .attr("name", "somename")
    )
);
console.log(row[0]);