Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery if list equal 1删除按钮_Javascript_Jquery_Html - Fatal编程技术网

Javascript jquery if list equal 1删除按钮

Javascript jquery if list equal 1删除按钮,javascript,jquery,html,Javascript,Jquery,Html,如果列表等于1,我想删除按钮 从ID计数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(); };

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

从ID计数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>

  • 如果等于1,请删除按钮
  • 如果相等>1列表,则不要删除按钮
  • 你好
谢谢

我为您制作了一个jsbin:

尝试删除一些
li
元素,您将看到它是有效的

以下是解决方案:

if($getList.length == 1){
    $sliderButtons.each(function(index,item){
      item.remove();
    });
};
我们不是在
$sliderButtons
变量上调用
remove()
,而是循环遍历每个元素,并在回调中运行代码。然后在
$sliderButtons
变量中的每个元素上分别运行
remove()

尝试以下操作:

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

我们使用
.filter()
和内部函数将
ul
元素集限制为只有一个
li
的元素。然后
最近(“.count”)
获取
ul
的父级
.count
。接下来查找并删除
i
标记

您还需要删除HTML中的重复ID并替换为类。比如:

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

  • 如果相等>1列表,则不要删除按钮
  • 你好
N P
请向我们展示基本的HTML,我为什么要问?因为你的代码基本上是有效的:如果它不适用于你,HTML与选择器不匹配。第一个问题,ID在页面上必须是唯一的。是的,我包括了JQueryNotworkingwith2ulworking!!!!!!!!!!!!谢谢