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