如果我们有一个带有html代码的javascript对象:
var elm = "<div id="a"> <div id="b"> <div id="c"> </div> </div> </div>";
如何通过jquery访问#a
?
例如$(elm).addClass('.red')
不起作用。
答案 0 :(得分:2)
例如
$(elm).addClass('.red')
无法正常工作。
除此之外。
var elm = '<div id="a"> <div id="b"> <div id="c"> </div> </div> </div>',
$elm = $(elm);
$elm.addClass('red');
console.log($elm);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
输出
Object { 0: <div#a.red>, length: 1 }
编辑:
在这里包括我自己的评论
没关系,我看到你做了什么 - 在你的字符串中转义双引号或使用单引号来包装它。
答案 1 :(得分:2)
首先,你不应该使用双引号内的双引号。
更改强>
var elm = "<div id="a"> <div id="b"> <div id="c"> </div> </div> </div>";
以强>
var elm = '<div id="a"> <div id="b"> <div id="c"> </div> </div> </div>';
现在$(elm)
将是ID为#a
的div。只有在您搜索$(elm)的子元素时,您才能找到具有$(elm).find('#b')
的子元素,而$(elm).find('#a')
将不会给您任何结果,因为#a
本身并不是孩子。