我有一个剃刀视图,我使用下面的代码生成html一切都很好
<ul>
@foreach (var resx in Model.Resxs())
{
tempWidth = tempWidth + @resx.ChildSitePartVrsn.ResxVrsn.WidthInPx;
temp = temp + 1;
width = @resx.ChildSitePartVrsn.ResxVrsn.WidthInPx + "px";
<li style="width:@width;">
@if (tempWidth <= 960){
<a href="#tabs-@temp">@resx.ChildSitePartVrsn.SitePart.NameInUse</a>
}
else{
<a href="#tabs-@temp" class="hide">@resx.ChildSitePartVrsn.SitePart.NameInUse</a>
}
</li>
}
@* needs to be inserted after the last visible tab. *@
<li><input type="button" id="moreTabs"/></li>
</ul>
我希望在上面生成的具体的两个之间插入一个具有按钮的li,我有以下代码。当我在firebug中调试脚本时,我得到所有的值,但是元素不是在html中创建的,令人惊讶的是我甚至丢失了我之前得到的一些html,没有下面的代码html保持不变,但我必须这样做根据我的要求。
$("<li><button id=\"moretabs\"></button></li>")
.before(
$("a.hide", that.element)
.first()
.parent("li")
);
任何有关PLZ ....................
的工作答案 0 :(得分:1)
before()
在DOM中的另一个元素之前插入一个元素,因此在新元素上调用它不会在DOM中插入任何内容:
var li = $('<li />'),
btn = $('<button />', {id:'moretabs'}),
elem = $('a.hide').closest('li'); // actual element existing in the DOM
li.append(btn).insertBefore(elem);
// or
elem.before( li.append(btn) )
答案 1 :(得分:0)
尝试使用append()
代替
$("yourSelector").append("<li><button id='moretabs'></button></li>");