首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使用jquery检查图像是否在页面上

尝试使用jquery检查图像是否在页面上
EN

Stack Overflow用户
提问于 2012-02-16 18:53:52
回答 3查看 49关注 0票数 2

我的网页上有一张图片,如下所示:

代码语言:javascript
运行
复制
<img id="k4Tbx6luuHmP01dpI4BRZw==" src="/thumbnail/k4Tbx6luuHmP01dpI4BRZw==">

然而,当我尝试

代码语言:javascript
运行
复制
var is_image_there = $("#k4Tbx6luuHmP01dpI4BRZw==").attr("src");
console.log(is_image_there);

Chrome控制台返回undefined我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-16 19:00:43

你需要escape the selector correctly

代码语言:javascript
运行
复制
$('#k4Tbx6luuHmP01dpI4BRZw\\=\\=');

这是一个演示:http://jsfiddle.net/mathias/crYWH/

要检查图像是否存在,可以检查.length属性:

代码语言:javascript
运行
复制
$('#k4Tbx6luuHmP01dpI4BRZw\\=\\=').length;

如果图像不在页面中,则等于0

我已经制作了一个工具,可以帮助你正确地转义任何选择器:mothereff.in/css-escapes截图:

票数 4
EN

Stack Overflow用户

发布于 2012-02-16 19:06:00

是啊,如果你escape =的话似乎还能用。据我所知,id是一个64位的字符串。我可以建议您删除填充,即=。然后在需要的时候恢复它们。

这很简单,base 64字符串的长度必须是4*n。如果它不等于它,则用=填充。

此外,您的url还包含=。这是url中的特殊字符。因此,我建议您使用url based base64

票数 1
EN

Stack Overflow用户

发布于 2012-02-16 18:59:00

只要你不使用html5,你的id中就不允许有==。

ID和名称标记必须以字母(A-Za-z)开头,后面可以是任意数量的字母、数字(0-9)、连字符("-")、下划线("_")、冒号(":")和句点(“.”)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9310010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档