Я хочу сделать это отделение активируемым по щелчку и хотеть использовать то же href
из внутренней части <a>
и хочу удержать ссылку внутри <a>
также (поэтому, если JS отключен затем, ссылка будет доступна).
<div id="example">
<p> some text </p>
<img src="example.jpg />
<a href="http://stackoverflow.com"> link </link>
</div>
Я подразумеваю, что мне нужно как это.
<div id="example" href="http://stackoverflow.com">
<p> some text </p>
<img src="example.jpg />
<a href="http://stackoverflow.com"> link </link>
</div>
Что-то вроде этого должно работать
$('#example').click(function() {
window.location.href = $('a', this).attr('href');
});
Я пока не могу ответить на вышеупомянутый разговор, потому что я здесь новичок, но я просто хотел сказать, что вам не нужно возвращать false
из этой функции. Это предотвращает поведение события по умолчанию (которое в случае щелчка div
не имеет значения) и предотвращает распространение события до следующего элемента в иерархии DOM.
Маловероятно, что что-то из этого необходимо в данном случае. Кроме того, если вам действительно нужны эти варианты поведения, вы можете получить их по отдельности и более четко, например так:
// note that the function will be passed an event object as
// its first argument.
$('#example').click(function(event) {
event.preventDefault(); // the first effect
event.stopPropagation(); // the second
window.location.href = $('a', this).attr('href');
});
Опять же, я не думаю, что в данном случае нужен какой-либо подход, но важно понимать, как они работают, потому что вы потребуется часто один или оба из них.