Jquery 如何基于变量动态添加/删除li标记
如何根据条件动态添加和删除?我尝试了下面的代码,但它不工作。我正在尝试在页面加载时这样做。我将使用隐藏输入从模板发送true或false。如果为true,则添加一个选项卡,否则使用jquery在脚本中删除该选项卡。有人能告诉我吗Jquery 如何基于变量动态添加/删除li标记,jquery,Jquery,如何根据条件动态添加和删除?我尝试了下面的代码,但它不工作。我正在尝试在页面加载时这样做。我将使用隐藏输入从模板发送true或false。如果为true,则添加一个选项卡,否则使用jquery在脚本中删除该选项卡。有人能告诉我吗 <ul class="nav nav-tabs"> <li class="active"><a data-toggle="tab" href="#home" class="tab-heading">Person</a&g
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home" class="tab-heading">Person</a></li>
<li><a data-toggle="tab" href="#menu1" class="tab-heading">Provider</a></li>
<li><a data-toggle="tab" href="#menu2" class="tab-heading">Researcher</a></li>
<li style='float: right;'>
<button type="button" id="saveall" class="btn btn-primary save-btn">Save</button>
</li>
</ul>
<input type="hidden" name="override" id="override" value="true">
var override= $('#override').val();
if(override){
$('ul.nav').append(" <li><a data-toggle='tab' href='#menu2' class='tab-heading' id='overridecanges'>Researcher</a></li>");
}else{
$('#overridecanges').remove();
}
-
拯救
var override=$('#override').val();
如果(覆盖){
$('ul.nav')。追加(“”);
}否则{
$(“#覆盖更改”).remove();
}
问题是$(此)
并与字符串进行比较
var override=$('#override').val();
如果(覆盖==“真”){
$('ul.nav')。追加('li id='#overridecanges'>癌症信息”;
}否则{
$('ul.nav').find('overridecanges').remove();
}
-
拯救
而不是插入/删除它-始终将它放在那里,并根据您的情况简单地隐藏/显示它。在下面的例子中,我将把隐藏的输入放在一起,只需按一下按钮就可以了
显然,这里缺少样式,我不得不让li和h1内联显示,但这是一种比每次条件改变时尝试操作DOM更好的方法。老实说,如果我这样做的话,我会在li中添加/删除一个类来显示/隐藏它,但是.toggle()在jquery中正是这样做的
$('#切换按钮')。单击(函数(){
$(“#覆盖更改”).toggle();
})
#覆盖更改{显示:无}
li,h1{display:inline}
癌症信息
-
拯救
在您的情况下,单击我切换它。(此)。查找('ul.nav')
将不会指向ul内部的任何li
你的要求对我来说不够清楚
但无论如何,假设在加载页面时,我希望执行以下代码:
注意:-if(override)总是true,因为override总是一个字符串值,即'true'或'false',
$(document).ready(function(){
var override= $('#override').val();
if(override=='true'){
$('ul.nav.nav-tabs').closest('ul.nav').append("<li id='overridecanges'><h1>Cancer information</h1></li>");
}else{
$('#overridecanges').remove();
}
});
$(文档).ready(函数(){
var override=$('#override').val();
如果(覆盖=='true'){
$('ul.nav.nav tabs')。最近('ul.nav')。追加(癌症信息 );
}否则{
$(“#覆盖更改”).remove();
}
});
$(文档).ready(函数(){
var override=$('#override').val();
如果(覆盖=='true'){
$('ul.nav.nav tabs')。最近('ul.nav')。追加(癌症信息 );
}否则{
$(“#覆盖更改”).remove();
}
});代码>
-
拯救
请指定何时添加或删除li,如单击按钮、单击链接等。@JaydipShingala我想在页面加载时执行此操作。我将发送正确或错误的模板。如果为true,则添加选项卡,否则在中删除选项卡script@An用户尝试这个答案