2010-03-05 4 views
0

temps pour une autre question stupide :)Quelqu'un pourrait-il m'aider à corriger cette expression xpath?

je suis arrivé quelques tables dans un document avec xhtml-class = « mytable » et à l'intérieur de ces tables toutes sortes d'éléments, y compris <input type="checkbox"/> .. Maintenant, je dois sélectionner toutes ces cases . Je me suis dit que j'utiliserais jquery avec xpath, mais mon expression ne semble pas fonctionner.

Jusqu'à présent, je suis venu avec

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

.. mais cela ne semble fonctionner :(Toute aide est appréciée :)

Répondre

2

J'utiliser des sélecteurs Css ne XPath

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

Ouais, devinez que c'est plus facile :) Je voulais juste essayer de tripoter xpath, mais je vais utiliser css selectores à la place. Merci :) – cwap

+0

@cwap: Vous ne pouvez pas utiliser XPath réel dans un sélecteur jQuery de toute façon. – Tomalak

+0

@cwap pas de soucis, désolé de ne pas avoir répondu à la question sur xpath. –

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

Je pense que vous avez besoin du symbole @ pour cibler les attributs et les guillemets simples autour de l'attribut valeurs

+0

Malheureusement, ce n'est pas ça :) Depuis jQuery 1.3+, vous ne pouvez pas utiliser les sélections @ dans les attributs. Au moins ce qu'il dit ici: http://dev-tips.com/featured/jquery-tip-using-xpath-selectors. "A partir de jQuery 1.3, le sélecteur d'attribut '@' a été désaffecté et cassera dans la dernière version de jQuery.Ceci est une solution facile, il suffit de supprimer le @ sélecteur". D'ailleurs, je peux faire des sélections très bien sans le //. Merci d'essayer si :) – cwap

+0

Oh wow. Comment diable peut JQuery supprimer le support pour une fonctionnalité XPath de base comme ça? L'utilisation de "@" pour distinguer les enfants d'attributs des enfants d'éléments a été une caractéristique essentielle des requêtes XPath pendant des années avant que JQuery n'ait jamais existé. Si JQuery dit qu'ils ne supportent plus le "@", c'est comme dire que vous ne supportez plus XPath, ce qui semble bizarre –

Questions connexes