У меня проблема, у меня есть какая-то ли, внутри них у меня есть ссылка и изображение. Я хочу, когда кто-то нажимает на изображение, он вызывает ссылку. Я не могу поместить изображение в ссылку, не спрашивайте, почему:) ... Так что в основном это выглядит примерно так:
sometext![]()
sometext![]()
...
И я думал о том, чтобы сделать что-то вроде этого:
$(img).click(function(){
var link = $(this).prev;
$(link).trigger('click');
})
Я знаю, что это неверно, но я думаю, что у вас есть фотография, спасибо за вашу помощь.
Don't use jQuery, but simply move the closing tag at the right side of the
tag:
sometext![]()
sometext![]()
Если вы не хотите изменять HTML, используйте:
$('img').click(function(){
location.href = $(this).prev().attr("href");
});
$(img)
- img
is not defined. Did you mean: $('img')
? (added quotes, using selector img
)var link = $(this).prev;
- prev
is nto a property, but a method. It has to be invoked: var link = $(this).prev()
$(link).trigger('click')
. Since link
is a jQuery object already, it's unnecessary to wrap the object in another jQuery object. Use: link.trigger('click');
.trigger('click')
will not cause the page to be followed, because it doesn't trigger the default browser behaviour (following the link), but invokes the click
event of the element. Which is not defined.На самом деле, похоже, что он должен работать. Просто обратите внимание, что prev - это функция.
Кроме того, вы можете сделать что-то вроде
window.location = link.attr('href');
Вы, вероятно, можете уйти с чем-то вроде
$(img).click(function()
{
var link = $(this).prev();
window.location.href = link.attr('href');
});