我有以下代码:
HTML:
<div class="sectionInner"><div class="carousel"></div></div>
<div class="sectionInner"></div>
<div class="sectionInner"></div>
<div class="sectionInner"></div>
Run Code Online (Sandbox Code Playgroud)
JS:
function checkForCarousel() {
$('.sectionInner').each(function(i) {
if($(this).has('.carousel')) {
alert('We got a Carousel!');
}
else {
alert('No Carousels here')
}
});
}
checkForCarousel();
Run Code Online (Sandbox Code Playgroud)
我想要做的是循环遍历四个div.sectionInner,如果我找到一个带旋转木马类的孩子,那么我想附加一些按钮.我知道我可以直接定位旋转木马,但这是更大图片的一部分,我确实有理由想要使用循环.
无论如何,当循环开始时,它会警告'我们有一个旋转木马',正如您对第一个div所期望的那样.然后,当很明显我们没有其他三个div的旋转木马时,它会继续警告'我们有一个旋转木马'.我在这做错了什么?
这是因为你正在测试jQuery对象的存在,这总是存在的true.你需要测试length > 0:
if($(this).has('.carousel').length) { // is false if length == 0
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/mblase75/DzafK/
| 归档时间: |
|
| 查看次数: |
383 次 |
| 最近记录: |