将xPath转换为jQuery Selector

use*_*738 1 jquery xpath jquery-selectors

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

/html/body/div[4]/div[2]/div/div/div/ul/li[4]
Run Code Online (Sandbox Code Playgroud)

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

jQuery('selector').hide(); 
Run Code Online (Sandbox Code Playgroud)

Utk*_*nos 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+')'; });
Run Code Online (Sandbox Code Playgroud)