Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将xPath转换为jQuery选择器_Jquery_Xpath_Jquery Selectors - Fatal编程技术网

将xPath转换为jQuery选择器

将xPath转换为jQuery选择器,jquery,xpath,jquery-selectors,Jquery,Xpath,Jquery Selectors,如何将以下xPath转换为jQuery1.10选择器 /html/body/div[4]/div[2]/div/div/div/ul/li[4] 我想用这个结果来做这样的事情: jQuery('selector').hide(); $('html body div:eq(4) div:eq(2) div div div ul li:eq(4)') 这应该是这样的: jQuery('selector').hide(); $('html body div:eq(4) div:eq(2)

如何将以下xPath转换为jQuery1.10选择器

/html/body/div[4]/div[2]/div/div/div/ul/li[4]
我想用这个结果来做这样的事情:

jQuery('selector').hide(); 
$('html body div:eq(4) div:eq(2) div div div ul li:eq(4)')

这应该是这样的:

jQuery('selector').hide(); 
$('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)')

这是一个识别句法差异的问题:

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


除了处理第n个子项选择器外,该方法工作正常。我似乎无法在jQuery3+中实现这一点。也许他们改变了什么。否则就足够了,只要你不需要接触特定的孩子。我根据下面@razielx4的答案对其进行了一个小的修改。似乎“n个孩子”匹配任何标记,xpath div[x]将匹配第x个div(而不是其他标记)