我有一个ul,让我们说10 li元素。在每个li elemenet里面都有img,点击是以模态打开的。我想创建一个函数,当你向某人发送一个指向特定img的链接时(比如www.aaa.com/#/image/3)打开第三个图像。到目前为止,我没有任何成功。在列表上我得到了:$(document).on('click', 'li img', function(){ ... }
这是一个如何模拟特定img点击事件的问题,因为我已经使这个模态与this
一起工作,它不像网址中的数字3那样具体。
ps我不想使用服务器端,这就是我使用#。
的原因答案 0 :(得分:3)
您可以使用document.location.hash
从链接中获取当前hash
,如果有哈希,并且它是图片,则触发该图片上的click
:
$(function() { // on page load
var hash = document.location.hash;
if (hash) { // check if hash exists
m = hash.match(/#\/image\/(\d+)/) // check the structure
if (m) {
$('ul#specific-ul li img').eq(m[1] - 1).click() // trigger click on the relevant image
}
}
})

答案 1 :(得分:1)
要触发点击事件,请使用$('#image3').trigger('click')
答案 2 :(得分:0)
使用ID属性。如果你已经在一个循环中添加了你的li,那么在变量中将id附加在循环中。不要忘记做变量++。
当您点击图片时,如id = image5
你可以用它
$("#image5").click(function(){
// Do something
});