在图像上使用JQuery的.load()的正确方法是什么?

时间:2014-12-14 15:52:32

标签: javascript jquery

我尝试使用.load()在用户点击页面上的按钮后从服务器检索图像,然后将其包围在“a href”和“img”标签中以将图像转换为可点击的链接,最后将它全部附加到div。

以下是我正在使用的代码,它可以工作...... ..

$("<a href=\"" + ObjectName[randomNumber].link + "\" target=\"_blank\">
<img src=\"/contentimages/"+ ObjectName[randomNumber].imageurl +"\"></a>").load().appendTo("#imageDiv");  

然后我将此函数绑定到一个按钮,以便当用户单击它执行的按钮时。

图像(ObjectName [randomNumber] .imageurl)和链接(ComboArray [randomNumber] .link)都是通过javascript选择客户端的对象的属性。 Imageurl是文件夹中的直接.png文件(“image1.png”)。

我的问题涉及我使用.load()的语法和安全性:

1)这是正确的语法吗?在jQuery页面上,它是相反的,在.load()括号内有URL请求。但我上面展示的方式对我有用。

2)根据jQuery资源页面,它说要传递给.load()只是你要从服务器请求的内容(例如“/page.html”)。我是否可以传递围绕Object属性的“a href”和“img”标签 - 或者更具体地说,我在它们上面调用.load()?我想这些是通过一些幕后的jquery魔法传递回服务器的,所以我想确保以这种方式使用.load()方法是安全的。

谢谢!

1 个答案:

答案 0 :(得分:0)

这不是load的预期用途。它“有效”,因为你所做的事情在没有调用加载的情况下可以工作,并且加载可能会无声地失败,因为它被错误地调用(它希望URL作为参数)

只是第一部分,$("<a ... >")将从提供的字符串中创建元素。