2010-03-05 48 views
0

时间再愚蠢的问题:)任何人都可以帮我修复这个xpath表达式吗?

我在XHTML文档带class =“MYTABLE”和这些表的各种元素,包括<input type="checkbox"/>。现在,我需要选择所有这些复选框内的一些表。我想我会用xpath使用jquery,但是我的表达似乎不起作用。

到目前为止,我想出了

$("table[class=mytable]//input[type=checkbox]") 

..但似乎没有工作:(任何帮助表示赞赏:)

回答

2

我会使用Css选择器而不是xpath

$('table.mytable input[type="checkbox"]') 
+0

是的,猜测这很容易:)只是想尝试和xpath的小提琴,但我会用取而代之的是CSS选择。谢谢:) – cwap 2010-03-05 15:14:31

+0

@cwap:无论如何,你不能在jQuery选择器中使用真正的XPath。 – Tomalak 2010-03-05 15:26:42

+0

@cwap不用担心,抱歉没有回答xpath上的问题。 – 2010-03-05 15:53:51

0
$("table[@class='mytable']//input[@type='checkbox']") 

我认为你需要的@符号目标属性和单引号围绕属性值

+0

不幸的是,这不是:)从jQuery 1.3+开始,你不能使用@属性选择。至少它在这里陈述的是:http://dev-tips.com/featured/jquery-tip-using-xpath-selectors。 “从jQuery 1.3开始,属性选择器'@'已经被deprectaed,并且会在最新版本的jQuery中破解。这是一个简单的解决方法,只需删除@选择器”。此外,我可以在没有//的情况下做出选择。感谢您的尝试:) – cwap 2010-03-05 15:04:03

+0

哦哇。 JQuery如何移除对这种基本XPath功能的支持?使用“@”区分属性子元素和元素子元素是JQuery历史上XPath查询的核心特征。如果他们说JQuery不再支持“@”,那就好像说你不再支持XPath,这似乎是离奇的 – 2010-03-05 15:13:44

相关问题