![](/img/trans.png)
[英]Any way to link “checkbox” to an element in another container (only HTML/CSS)
[英]HTML element with no footprint, but can be a container for another element
是否有HTML元素或元素,当与正确的CSS样式属性结合使用时,除了可以用作其他元素的容器之外没有足迹?
它几乎就像是页面标记上的“标记”,其中实际的HTML应该由jQuery放置。
它的外观示例:
<span id='the_view_container' style='display:dont-do-anything'></span>
我问的原因是因为我正在使用Backbonejs,当我必须在屏幕上添加一个视图时,我发现我要么必须在创建视图时指定视图应该被挂钩的元素,这有其缺点:
theView = new TheView({
el: $('#the-view-container')
});
或者我必须在现有元素中插入视图,通常是div。 这会给模板带来困难:
theView = new TheView({});
$('#the-view-container').html(theView.el);
$('#the-view-container').addClass('theViewClass'); // <-- Shouldn't have to do this
非常感谢任何投入,非常感谢!
没有附加到文档流的DOM元素应该可以解决问题。 试试div
例如:
var detachedDiv = $('<div/>');
theView = new TheView({
el: detachedDiv
});
然后,当您想要附加视图时,您会将其附加到<body>
,例如:
$('body').append(detachedDiv);
你最好动态创建一个元素。
但是,您可以创建一个'nothing'元素,如下所示:
<div id="nothing" style="display: none; visibility: hidden; width: 0; height: 0; line-height: 0"></div>
然后在需要时设置style
:
$('#nothing').css('');
(假设您的CSS没有异常重置,)只需使用附加了ID的空<div>
即可。
<div id="backboneJScontent"></div>
由于div默认具有0高度,因此在给定高度,边框,边距,轮廓或填充之前,它们不会在文档流中呈现任何空间。 (默认情况下没有这些)
然后,当您需要向其插入内容时,您只需将其直接插入该div,只需使用ID选择它即可。
$("#backboneJScontent");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.