尝试在变量中编辑html代码并使用下面的代码写入body,但不起作用。有什么想法吗?
var html ='<input class="1" value="1"/><input class="2" value="2"/><input class="3" value="3"/>';
$(html).find(".1,.2").remove();
$("body").html(html);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:2)
这里有几个问题。
此行没有任何作用:
if
它创建一个新的临时变量,其中包含围绕三个$(html).find(".1,.2").remove();
元素的jQuery包装器。然后它在此intermedia值上运行<input>
,这不起作用,因为find查找当前包装元素的 children 。然后它find
任何找到的孩子(再次,没有)。然后,它丢弃中间值,使原始removes
变量包含未修改的字符串。
为了实现您要执行的操作,您需要将HTML片段包装在根节点中,并将操作结果分配给新变量:
html
var html ='<input class="1" value="1"/><input class="2" value="2"/><input class="3" value="3"/>';
var $html = $("<div>" + html + "</div>");
$html.find(".1,.2").remove();
$("body").html($html.html());