我正在使用jQuery重写DOM以将无JS HTML页面转换为JS驱动器页面.我在转换图像链接时遇到了一个小故障.在原始代码中我有:
......我想把它变成:
我无法弄清楚如何编写onclick
属性,以便它包含img src
值作为imagepop
参数.我试过了:
$(".f a").attr('onclick', 'imagepop(' + $(this).attr('src') + ')' );
...但$(this).attr('src')
返回"未定义".
我该如何修复我的代码行?或者img src
从imagepop
函数内部读取属性会更好吗?
**注意,我还没有开发页面,因此每个div都有一个唯一的ID,并且不打算这样做. ......我想把它变成...... 对于它的价值,我不会.相反,我会使用这样的函数: 可能包含在 它被称为渐进增强.启用JavaScript的用户代理将使用上述内容,未启用JavaScript的用户代理仍会看到并关注该链接.请记住,用户代理不仅仅是浏览器,还包括爬虫,蜘蛛等,是的,禁用JavaScript的浏览器. 更新:如果你真的想在链接级别(可能更像键盘)处理它,而不是图像级别,那么: ...因为它是
1> T.J. Crowder..:
$("div.f a img").click(function() {
imagepop(this.src);
return false;
});
ready
处理程序中的那一行的作用是:如果用户单击该图像,它会执行该操作imagepop
并取消该事件,其中(除其他外)会阻止链接触发.
$("div.f a").click(function() {
var img = $(this).find("img");
if (img[0]) {
imagepop(img[0].src);
return false;
}
});
img
,而不是a
,具有的元素src
.(并且不需要在attr
这里使用,src
所有主要的 - 也可能是所有次要的 - 浏览器都支持反射属性.)
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有