将XPath添加到chrome扩展或javascript中

将XPath添加到chrome扩展或javascript中,javascript,jquery,xpath,google-chrome-extension,Javascript,Jquery,Xpath,Google Chrome Extension,我正在进行chrome扩展,我需要在其中包含xpath,即使我将jquery添加到清单中,它也不起作用 错误:未捕获引用错误:$x未定义 舱单: "permissions": [ "activeTab", "*://www.znamky.zsunesco.cz/*" ], "content_scripts": [ { "matches": ["http://znamky.zsunesco.cz/*"], "js": ["jquery-1.11.3.min.js", "Scri

我正在进行chrome扩展,我需要在其中包含xpath,即使我将jquery添加到清单中,它也不起作用

错误:
未捕获引用错误:$x未定义

舱单:

"permissions": [
"activeTab",
"*://www.znamky.zsunesco.cz/*"
],
"content_scripts": [
  {
    "matches": ["http://znamky.zsunesco.cz/*"],
    "js": ["jquery-1.11.3.min.js", "Script.js"]
  }
]
脚本:

$x("//div[@class='nazevprdiv' and ./a[text()='"+name+"']]/../../td/table/tbody/tr[@class='detznamka']/td");

$x
只是一个普通的Javascript变量名-它不是一些特殊的xpath访问器

它似乎使用
$x
作为一个函数,但这不是标准的

正如文档所指出的,您应该只使用在许多浏览器中都是标准的(当然,IE除外)

编辑


正如@Xan所指出的,
$x
也被Chrome用作它们的一部分。

$x
只是一个普通的Javascript变量名-它不是一些特殊的xpath访问器

它似乎使用
$x
作为一个函数,但这不是标准的

正如文档所指出的,您应该只使用在许多浏览器中都是标准的(当然,IE除外)

编辑


正如@Xan所指出的,
$x
也被Chrome用作其xpath的一部分。

正如adelphus所说,它只是Firebug作为xpath快捷方式的一个变量usd。您可以使用以下代码实现它:

function $x(path){
 var xpath = document.evaluate(path, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
   var temp = [];
   for (var i = xpath.snapshotLength - 1; i >= 0; i--) {
     temp.push(xpath.snapshotItem(i));
   }
   return temp;
}

正如adelphus所说,它只是Firebug作为xpath快捷方式的一个变量。您可以使用以下代码实现它:

function $x(path){
 var xpath = document.evaluate(path, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
   var temp = [];
   for (var i = xpath.snapshotLength - 1; i >= 0; i--) {
     temp.push(xpath.snapshotItem(i));
   }
   return temp;
}

对于Chrome来说,它是-的一部分,因此它可以从控制台工作,但不能从脚本工作。有没有一种方法可以使$x函数正常运行,它可以像$x一样返回html元素数组?(我看过他们的源代码(firebug的)我找到了这个函数和其他函数,但是还有很多其他的脚本被导入到带有xpath函数的脚本中:对于Chrome,它是-的一部分,所以它可以从控制台工作,但不能从脚本工作。有没有一种方法可以使$x函数正常运行,它可以像$x一样返回html元素数组?(我查看了他们的源代码(firebug),找到了函数和其他,但还有很多其他脚本正在使用xpath函数导入到脚本中:和