如果div的值等于'1',则隐藏另一个div。

3

我有一个div,它加载每个页面上的图像数量。例如:

<div class="totalimages">1</div>
<div id="arrows">NEXT</div>

当我只有一个图片时,我想隐藏 #arrows div。由于我不太擅长 jQuery,所以我想知道语法应该是什么:
如果 .totalimages div 等于 '1',那么隐藏 div #arrows。
谢谢!
3个回答

8

试试这个:

if ($(".totalimages").text() == "1") {
    $("#arrows").hide();
}

或者在一行中:

$("#arrows").toggle($(".totalimages").text() != "1");

嘿!那正是我认为会起作用的东西,但我刚试了一下,当 .totalimages = 2 时,它仍然被隐藏。此外,如果它是 <span class="totalimages">,是否更好? - Laura
@Laura 不,这并不重要是否是<span>。否则,代码应该可以正常工作。请检查一下,也许你的#arrows默认是隐藏的。 - VisioN
我正在使用超大型插件,实际上HTML中的“1”没有被识别,因此jQuery不知道在.totalimages中实际上有一个“1”。有什么想法吗? - Laura

1

0
我可以建议您将演示与数据解耦吗?使用新的HTML5属性,您可以以更整洁的方式实现此目标,而无需依赖于脚本的演示。这使您能够更改显示图像总数的方式,仍然实现相同的效果,即隐藏箭头:
<div class="totalimages" data-total-images="1">1</div>
<div id="arrows">NEXT</div>

var totalImages = parseInt($('.totalimages').data('totalImages'), 10);
if(totalImages <= 1) {
  $('#arrows').hide();
}

正如您所看到的,我添加了一个包含您感兴趣数据的data-属性。现在,如果您想要更改totalimages div的文本而不破坏脚本,您可以这样做:

<div class="totalimages" data-total-images="15">Showing image 1 out of 15</div>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接