反斜杠的 Javascript 字符串比较问题

标签 javascript jquery custom-data-attribute

所以我正在为自定义 data-xx 属性编写一个 jquery 选择器。这个属性的值是网络路径。在我的脚本中,我试图通过在我的选择器中使用此属性的值来识别单击的是什么

这里是代码布局

<a data-path="\\network\Dir1\SubDir\SubDir2\file.xml" href="#">Link1</a>

这是我的选择器,不返回任何内容。

$('a[data-path="\\\\network\\Dir1\\SubDir\\SubDir2\\file.xml"]')

只有当我只使用文件名时我的选择器才起作用

$('a[data-path*="\file.xml"]')

我不确定这里转义反斜杠的方式或使用自定义属性选择器的方式是否有问题。

如果我执行 $('a#id').data('path') 我会得到这个 "\network\Dir1\SubDir\SubDir2\file.xml"

谢谢

最佳答案

正如您在问题评论中所述,您需要在路径中的每个反斜杠中使用 4 个反斜杠:

var allLinks = $('a');
var longLink = $('a[data-name="\\\\\\\\network\\\\Dir1\\\\SubDir\\\\SubDir2\\\\file.xml"]');

console.log(" *** links found: ", allLinks.length, longLink.length);

这是一个工作示例:http://plnkr.co/edit/D2w8G7yTaOusG5qwT51x?p=preview

关于反斜杠的 Javascript 字符串比较问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27263853/

相关文章:

javascript - 如何为我的 JavaScript 创建自己的 vsdoc.js 文件?

javascript - 如何获取超过选择输入的数据属性?

javascript - 动态创建一个 iframe 并将 onload 事件附加到它

javascript - 我无法将变量与 SPservices 中的字符串 String 进行比较

基于 jQuery AJAX SOAP 的 Web 服务和 CORS(跨源资源共享)

jquery - 淡出表格行和内容(在滚动时)与通过包含 div 隐藏行的比例

jquery - 表单标签中的数据属性

javascript - 在 CasperJS 中获取具有特定(数据)属性的每个元素

javascript - 如何在不使用 "linebreaksbr"模板过滤器的情况下在 Django 模板中显示换行符?

javascript - 如何在React功能组件中的onClick上传递参数