Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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[@StoreName]?_Javascript_Xpath - Fatal编程技术网

Javascript xPath[@StoreName]?

Javascript xPath[@StoreName]?,javascript,xpath,Javascript,Xpath,我正在为一个使用document.createTreeWalker的项目做一些研究,我正在看一个使用了很多xpath的脚本,但是我很好奇这些来自哪里。有些是显而易见的,我可以在网上找到答案,比如[@AttributeName]和[@TagName],但什么是[@StoreName]、@AttributeValue1]、@AttributeValue2]……这些我都无法在网上找到 特别是,我看了这些台词,却不明白: thisURL = window.document.location.href.t

我正在为一个使用document.createTreeWalker的项目做一些研究,我正在看一个使用了很多xpath的脚本,但是我很好奇这些来自哪里。有些是显而易见的,我可以在网上找到答案,比如[@AttributeName]和[@TagName],但什么是[@StoreName]、@AttributeValue1]、@AttributeValue2]……这些我都无法在网上找到

特别是,我看了这些台词,却不明白:

thisURL = window.document.location.href.toString();
if(thisURL.search("[@StoreName]") != -1) { //do something }

也许我误解了你的问题,但是
[@AttributeName]
[@StoreName]
在功能和语法上没有什么不同。它们都是寻找具有特定属性的元素的谓词。第一个是查找
AttributeName
属性,而第二个是查找
StoreName
属性


也就是说,您显示的代码实际上没有执行任何XPath工作。它只是使用JavaScript的字符串搜索功能查看URL是否包含字符序列[@StoreName],如果包含,则执行一些操作。

但我认为这不正确。我的域设置为dev.my-local.com,在本地环境中有此代码。当我在页面上运行此javascript时,得到了1,这意味着找到了[@StoreName]:
thisURL=window.document.location.href.toString();警报(thisURL.search(“[@StoreName]”)StoreName,那么它是从哪里来的呢?如果看不到更多的代码,很难说。。。您选择了正确的两行代码段,但没有任何两行代码段能够提供全局。听起来可能正在进行一些预处理,它实际上以XPath的形式运行
[@StoreName]
,并在
search()
实际执行之前无缝地将结果丢弃,但我无法说明如何执行。