2013-03-22 56 views
1

我执行以下操作:使用jQuery Mobile的非选择器

$('ul')。attr('data-role','listview');

而且,默认所有我的无序列表是列表视图,但我想排除无序列表是一个<nav>标签内的,如:

<nav> 
<ul> 
<li><a href="#">One</a></li> 
<li><a href="#">Two</a></li> 
</ul> 
</nav> 

问:我怎样才能改变我的选择不包括那些位于nav元素内部的无序列表?

回答

4

你可以做筛选出只有那些ul S中的不是nav的直接孩子:

$('ul').not('nav > ul').attr('data-role','listview'); 
+0

呀,数据(“角色”,“列表视图”)并没有为我工作。我不得不使用attr('data-role','listview')。 – 2013-03-22 16:02:25

+0

哦..这很奇怪。你使用的是哪个版本的jQuery? – techfoobar 2013-03-22 16:03:02

+0

@Phillip'data('role','listview')'不会设置实际的属性'data-role'。所以如果你从外部代码读取这个属性,你将需要使用'attr'函数。 'data()'函数仅适用于jQuery对象,而不适用于DOM本身(除了阅读)。 – 2013-03-22 16:04:23

相关问题