Jquery 如何基于变量动态添加/删除li标记

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

如何根据条件动态添加和删除?我尝试了下面的代码,但它不工作。我正在尝试在页面加载时这样做。我将使用隐藏输入从模板发送true或false。如果为true,则添加一个选项卡,否则使用jquery在脚本中删除该选项卡。有人能告诉我吗

<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用户尝试这个答案