将xPath转换为jQuery Selector

时间:2014-03-21 22:52:26

标签: jquery xpath jquery-selectors

如何将以下xPath转换为jQuery 1.10选择器?

/html/body/div[4]/div[2]/div/div/div/ul/li[4]

我想用结果做这样的事情:

jQuery('selector').hide(); 

2 个答案:

答案 0 :(得分:5)

嗯,这是一个确定语法差异的问题:

  • XPath使用/作为父/子分隔符,而CSS / jQuery选择器使用>
  • XPath使用单索引方括号表示索引,而jQuery使用:nth-child()伪选择器

所以:

var
xpath = '/html/body/div[4]/div[2]/div/div/div/ul/li[4]',
jq_sel = xpath
    .substr(1) //discard first slash
    .replace(/\//g, ' > ')
    .replace(/\[(\d+)\]/g, function($0, i) { return ':nth-child('+i+')'; });

答案 1 :(得分:2)

这将是这样的:

$('html body div:eq(4) div:eq(2) div div div ul li:eq(4)')

我不确定div,也许它可能就像另一个:

$('html body div:eq(4) div:eq(2) div:first div:first div:first ul li:eq(4)')