Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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
Javascript 什么';这两个XPath表达式之间的区别是什么?_Javascript_Html_Xpath - Fatal编程技术网

Javascript 什么';这两个XPath表达式之间的区别是什么?

Javascript 什么';这两个XPath表达式之间的区别是什么?,javascript,html,xpath,Javascript,Html,Xpath,有两个XPath表达式: //LI/A[normalize-space()="fullscreen"] //LI/A["fullscreen"] 据我所知,normalize-space()用于修剪字符串,如中所述。那么这两个表达应该有相同的意思 但是,可以通过以下方法计算第一个参数,以在中定位元素: ,而第二个将定位不同的元素 它们之间有什么区别?第二个表达式实际上没有多大意义。设置为筛选a元素的唯一条件是“全屏”字符串,该字符串将始终计算为true。换句话说,//LI/A[“全屏”]相当于

有两个XPath表达式:

//LI/A[normalize-space()="fullscreen"]
//LI/A["fullscreen"]

据我所知,
normalize-space()
用于修剪字符串,如中所述。那么这两个表达应该有相同的意思

但是,可以通过以下方法计算第一个参数,以在中定位元素:

,而第二个将定位不同的元素


它们之间有什么区别?

第二个表达式实际上没有多大意义。设置为筛选
a
元素的唯一条件是“全屏”字符串,该字符串将始终计算为true。换句话说,
//LI/A[“全屏”]
相当于
//LI/A

您可能想根据
全屏
检查元素的字符串值:

//LI/A[. = "fullscreen"]

还需要注意的是,当在没有参数的情况下调用
normalize-space()
时,它将自动使用当前节点的字符串值作为参数。元素的节点字符串值是。

据我所知,
normalize-space()=“fullscreen”
表示在
“fullscreen”
上调用
normalize-space()
,并将返回值放入
[]
。对的如果不是,那是什么意思?@MartinZhai我在答案中添加了更多的信息,希望能让事情变得更清楚一点。谢谢
//LI/A[. = "fullscreen"]