类名中的 jQuery 句点存储在 var 中

发布于 2024-12-04 07:48:32 字数 189 浏览 0 评论 0原文

我有这个代码:

var imgId = this.id; //file1.jpg

和这个:

$('.img\\' + imgId).remove();

所以问题是,我无法转义“。”因为它在 var 中,而不是之前。我能做些什么?

I have this code:

var imgId = this.id; //file1.jpg

and this:

$('.img\\' + imgId).remove();

So the problem is, i cant escape the '.' because its in the var, not before. What can i do?

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

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

发布评论

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

评论(5

冷月断魂刀 2024-12-11 07:48:32

不要将文件名存储为标记中类/id 的一部分。相反,使用 data- 属性:

<div class="img" data-filename="file1.jpg" />

然后在你的 jQuery 中:

$('.img[data-filename="'+imgId+'"]').remove();

Don't store the filename as part of the class/id in your markup. Instead, use a data- attribute:

<div class="img" data-filename="file1.jpg" />

And then in your jQuery:

$('.img[data-filename="'+imgId+'"]').remove();
那伤。 2024-12-11 07:48:32

我可能误解了这个问题 - 但是,这行得通吗?

$('.img\\' + replace(imgId,'.','\.')).remove();

I've probably misunderstood the question - but, would this work?

$('.img\\' + replace(imgId,'.','\.')).remove();
陌生 2024-12-11 07:48:32

你不能做类似 $("#"+imgId, ".img").remove() 的事情吗

can't you do something like $("#"+imgId, ".img").remove()

猥︴琐丶欲为 2024-12-11 07:48:32

使用.replace来替换它。

var imgId = this.id.replace('.', '/.'); //Or whatever other escaping is there.

Use .replace to replace it.

var imgId = this.id.replace('.', '/.'); //Or whatever other escaping is there.
明媚殇 2024-12-11 07:48:32

虽然句点是 HTML Id 中的有效实体,但我强烈建议您遵循不同的命名约定,特别是在 Id 值中不使用句点的命名约定。

While the period is a valid entity in an HTML Id I strongly sugest you follow a different naming convention, specifically one where periods are not used in Id values.

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