jquery通过rel标签查找锚点

发布于 2024-11-09 17:26:26 字数 405 浏览 2 评论 0原文

我有一个看起来像这样的锚标记,

<a rel="C:\dev/ACME.Console/3rdPartyBinaries/" href="#">3rdPartyBinaries</a>

它可能嵌套在 li 或 ul 标记中

,我试图在单击时设置这些锚标记的背景颜色。我现在正在使用以下功能来做到这一点。

function (file) {        
    $('a[rel="' + file + '"]').css("background", "#eee");

因此,当单击锚元素时,就会触发上述函数,并且文件参数将作为锚 rel 属性传递。但是用上面的方法并没有设置背景。

任何帮助将不胜感激

I have an anchor tags which look like this

<a rel="C:\dev/ACME.Console/3rdPartyBinaries/" href="#">3rdPartyBinaries</a>

which may be nested in li or ul tags

and I am trying to set the background color of those anchor tags when clicked. I am right now doing that with the following function.

function (file) {        
    $('a[rel="' + file + '"]').css("background", "#eee");

So when ever an anchor element is clicked the above function is hit and the file parameter is passed as the anchors rel attribute. But the background is not being set with the above method.

Any help would be greatly appreaciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流心雨 2024-11-16 17:26:26

您需要对字符串中的 \ 进行双重转义。

file('C:\\\\dev/ACME.Console/3rdPartyBinaries/')

目前,您的 \ 正在转义 d,这不是一个特殊的转义序列,因此只是返回 d。您需要转义转义字符,然后再次转义选择器字符串。

jsFiddle

您可以在函数内部处理选择器的转义序列,而不是记住对其进行两次转义。

file = file.replace(/\\/g, '\\\\');

jsFiddle

You need to double escape the \ in your string.

file('C:\\\\dev/ACME.Console/3rdPartyBinaries/')

At the moment, your \ is escaping the d, which isn't a special escape sequence so is just returning d. You need to escape the escape character and then escape it again for the selector string.

jsFiddle.

Instead of remembering to escape it twice, you could handle the escape sequence for the selector inside of the function.

file = file.replace(/\\/g, '\\\\');

jsFiddle.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文