当前位置:  开发笔记 > 编程语言 > 正文

jQuery:如何将"src"属性写入子元素的Onclick函数参数中

如何解决《jQuery:如何将"src"属性写入子元素的Onclick函数参数中》经验,为你挑选了1个好方法。

我正在使用jQuery重写DOM以将无JS HTML页面转换为JS驱动器页面.我在转换图像链接时遇到了一个小故障.在原始代码中我有:


......我想把它变成:


我无法弄清楚如何编写onclick属性,以便它包含img src值作为imagepop参数.我试过了:

$(".f a").attr('onclick', 'imagepop(' + $(this).attr('src') + ')' );

...但$(this).attr('src')返回"未定义".

我该如何修复我的代码行?或者img srcimagepop函数内部读取属性会更好吗?

**注意,我还没有开发页面,因此每个div都有一个唯一的ID,并且不打算这样做.

标签内的所有元素都没有分配ID.



1> T.J. Crowder..:

......我想把它变成......

对于它的价值,我不会.相反,我会使用这样的函数:

$("div.f a img").click(function() {
    imagepop(this.src);
    return false;
});

可能包含在ready处理程序中的那一行的作用是:如果用户单击该图像,它会执行该操作imagepop并取消该事件,其中(除其他外)会阻止链接触发.

它被称为渐进增强.启用JavaScript的用户代理将使用上述内容,未启用JavaScript的用户代理仍会看到并关注该链接.请记住,用户代理不仅仅是浏览器,还包括爬虫,蜘蛛等,是的,禁用JavaScript的浏览器.


更新:如果你真的想在链接级别(可能更像键盘)处理它,而不是图像级别,那么:

$("div.f a").click(function() {
    var img = $(this).find("img");
    if (img[0]) {
        imagepop(img[0].src);
        return false;
    }
});

...因为它是img,而不是a,具有的元素src.(并且不需要在attr这里使用,src所有主要的 - 也可能是所有次要的 - 浏览器都支持反射属性.)

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有