2014-06-12 68 views
0

似乎无法显示使用data属性作为选择器的div。使用数据属性的jQuery show元素选择器

显示容器,但没有任何行。使用下面的选择

<div class="container"> 
    <div data-line="2">Two</div> 
</div> 

,这是行不通的

$('.container div[data-line="2"]').show(); 

所以你们了解情况......

$(document).ready(function(){ 
    for(i = 0; i < 10; i++){ 
     $('.container div[data-line="'+ i + '"]').show(); 
    } 
}); 
+3

该代码没有问题。 div是否默认隐藏,以便show()实际上会做些什么?小提琴:http://jsfiddle.net/6QU2U/ –

+0

如果你可以创建一个显示问题的jsfiddle,它会有所帮助。 –

+0

@scrowler是的,这是......这是我一直在处理的小提琴引起我的问​​题:http://jsfiddle.net/xS39F/ – Adjit

回答

6

这是因为你设置你的div容器无显示 -

div { 
    width: 100%; 
    line-height: 30px; 
    background: grey; 
    border: 1px solid red; 
    text-align: center; 
    /*visibility: hidden;*/ 
    display: none; // here is the issue 
} 

一个简单的修复方法是将您的CSS选择器更改为div > div {...基本上,您显示的是子项,但由于父项已隐藏,子项仍将继续隐藏。

http://jsfiddle.net/jayblanchard/xS39F/2/

+0

哦,我是个白痴。有时我只是粗心CSS,因为我真正关心的是编程 – Adjit

2

很简单只是改变你的CSS从DIV {}到.container DIV {}及其实现。

相关问题