jquery如果列表等于1删除按钮

时间:2014-10-17 02:30:48

标签: javascript jquery html

我想如果列表等于1删除按钮,

从ID count 1列表中删除按钮,

如果有其他ID计数> 1不要删除按钮,

使用jQuery,

var $this = jQuery(this);
var $getList = jQuery('#count li');
var $sliderButtons = jQuery('#count .slider_next, #count .slider_prev');
if($getList.length == 1){
    $sliderButtons.remove();
};

我的代码只想使用list == 1删除按钮

    <div id="count">
        <ul id="sldr">
           <li>if equal 1 list, remove buttons.</li>
        </ul>
        <i class="slider_next"></i>
        <i class="slider_prev"></i>
    </div>

    <div id="count">
        <ul id="sldr">
           <li>if equal > 1 list, don't remove buttons.</li>
           <li>hello</li>
        </ul>
        <i class="slider_next"></i>
        <i class="slider_prev"></i>
    </div>

由于

3 个答案:

答案 0 :(得分:0)

试试这个:

$(".count ul") 
   .filter(function( index ) {
       return $( "li", this ).length === 1;
    })
   .closest(".count")
   .find("i").remove();

Demo

我们正在使用.filter()和内部函数将ul元素集限制为只有一个li的元素。然后closest(".count")获取.count的{​​{1}}父级。接下来查找并删除ul代码。

您还需要删除HTML中的重复ID并替换为类。类似的东西:

i

答案 1 :(得分:-1)

您可以尝试:

var $getList = jQuery('#count').find('li');
var $sliderButtons = jQuery('#count .slider_next, #count .slider_prev');
if($getList.length == 1){
    $sliderButtons.remove();
};

出现问题,ID必须在页面上唯一。

我修复了代码here

答案 2 :(得分:-1)

我为你做了一个jsbin:http://jsbin.com/qumuraqijaqu/1/edit?html,js,output

尝试删除部分li元素,您会发现它有效。

以下是解决方案:

if($getList.length == 1){
    $sliderButtons.each(function(index,item){
      item.remove();
    });
};

我们不是在remove()变量上调用$sliderButtons,而是循环遍历每个元素,并在我们的回调中运行代码。然后,我们在remove()变量中的每个元素上单独运行$sliderButtons