jquery - 使用 JQuery 时如何停止 jsdom 自动限定 href 结果?

标签 jquery node.js jquery-selectors jsdom

该脚本使用 jsdom 和 jquery 来获取 a 标签的 href 属性的值。由于某种原因,相对于我运行脚本的路径,它是完全限定的。我如何才能获得 href 值,而不是完全限定?

var currentDoc = jsdom.jsdom('<html><head><title>href test</title></head><body><p><a href="test.html">Test</a></p></body></html>';, null, {});
var window = currentDoc.createWindow();
jsdom.jQueryify(window, 'jquery-1.4.2.min.js' , function() {
    console.log(window.$('a')[0]['href']);
});

(代码片段也在 https://gist.github.com/2355968 )

最佳答案

您想要使用 getAttribute 而不仅仅是字段访问器。

var someLink = document.createElement("A");
someLink.href = "/foo";
someLink.href; // => "http://whatever.com/foo"
someLink.getAttribute("href"); // => "/foo"

关于jquery - 使用 JQuery 时如何停止 jsdom 自动限定 href 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098443/

相关文章:

javascript - 为什么我的 vscode 在运行扩展时总是显示正在构建?

javascript - 将字段内容复制到其下方所有动态生成的类型字段

javascript - hide() show() 后范围选择器输入字段无法编辑

jquery - 当单击触发器位于父元素上时,防止取消选择复选框

jQuery Uncaught TypeError 与 Theme Punch Revolution Slider

javascript - 如何使 jquery 脚本与 jquery 2.x.x 兼容

node.js - Azure 中用于 SVG 和字体的 Express Node JS web.config

javascript - express + Passport ,错误: can't post request to passport and not throw any error

jquery :not selector not working in next() method

javascript - 删除页面中所有样式的最简单方法