我想创建这样的HTML
<div id="positional">
<div>
<div>
<label for='azimuth'>Azimuth</label>
</div>
<div>
<input id='azimuth'>
</div>
</div>
</div>
我试着用这个,但我不能让它起作用,你能帮忙吗?
$("<div><input id='azimuth'></div>")
.insertAfter("<div><label for='azimuth'>Azimuth</label></div>")
.wrap("<div></div>")
.appendTo("#positional");
假设已经创建了<div id="Positional">
。谢谢,我把头发拔出来了。
编辑:我知道我可以将HTML插入到一个不可读的blob中,但我正在尝试一步一步地完成它,并理解问题所在。在这种情况下,包含标签的div将不会出现。
EDIT2:说真的,如果有人能解释一下为什么这不管用,我会非常感激的。
发布于 2014-08-14 18:41:45
$.wrap
、$.after
、$.appendTo
在内存节点中不起作用。请参阅JQuery: Build HTML in 'memory' rather than DOM
在调用这些方法http://jsfiddle.net/j824yyng/2/之前,将起始节点放入DOM
$("<div><label for='azimuth'>Azimuth</label></div>")
.appendTo("#positional")
.wrap("<div></div>")
.after("<div><input id='azimuth'></div>");
正如其他人指出的那样,这不是很容易读懂。在jQuery
中这可能是一个很好的教训,但是如果我不得不修改上面的代码而不是直接的前向版本,我会讨厌你的。
发布于 2014-08-14 15:51:13
除非这个故事比你提到的要多,否则这应该没问题。
var myHtml = '<div>'
+ '<div>'
+ ' <label for="azimuth">Azimuth</label>'
+ '</div>'
+ '<div>'
+ ' <input id="azimuth">'
+ '</div>'
+ '</div>';
$('#positional').html(myHtml);
发布于 2014-08-14 15:52:29
$('#positional').html('<div><div><label for="azimuth">Azimuth</label></div><div><input id="azimuth"></div></div>');
https://stackoverflow.com/questions/25312261
复制相似问题