【问题标题】:jQuery 1.7.2: attr('src') returns undefined on server but works fine locallyjQuery 1.7.2:attr('src') 在服务器上返回 undefined 但在本地工作正常
【发布时间】:2012-07-20 18:13:18
【问题描述】:

在我的页面上我有一个元素



我想通过 jQuery 获得 src 属性。

我用语句试试这个

alert($('#image123').attr('src'));

它在我的 xampp 服务器本地工作(提示 http://server.de/image.png),但不在我的网络服务器上。在那里我只收到带有文本“未定义”的警报弹出窗口

使用 Firebug,我可以调试代码行而不会出错,所以 jQuery 似乎可以工作。

我错过了什么?

提前感谢您的帮助!

编辑:[已解决] 因为我无法回答我自己的问题,所以我在这里发布我的解决方案:

感谢所有回复,我发现了错误。 id 'image123' 像 'image'+id 一样连接,其中 id 是函数参数(保存 123)。由于某些原因,在我的服务器上,我没有得到 123,而是 12300,最后有一些零。当我将 123 作为字符串传递给我的函数时,一切都按预期工作。 感谢您的帮助!

【问题讨论】:

  • 你的网络服务器中有 jQuery 吗?由于您使用不同的服务器,请检查
  • 脚本是否在加载 HTML 之前尝试运行?
  • 该方法由鼠标悬停事件触发,因此 HTML 应该存在。因为我可以调试代码并传递一个 if 语句 (codeif($('#image123')code) jQuery 似乎存在)

标签: jquery undefined attr


【解决方案1】:

这样试试

$(function(){
alert($('#image123').attr('src'));
});

【讨论】:

  • +1 是的,听起来像在选择器运行时图像不存在。
  • 这也返回未定义
  • 我尝试加载的图像来自另一台服务器......所以这对于我的本地项目或我的网络服务器上的项目都是一样的。如果我从图像标签中复制 url 并将其粘贴到浏览器中,则可以加载图像。
  • 图片 url 不一定要有效。你仍然应该得到路径
  • Coming from another server?你在用ajax 拉东西吗?如果是这样,您将不得不处理异步计时。
猜你喜欢
  • 2014-09-09
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多