2013-12-25 2 views
1

КОД:Сделать весь Div кликабельным с помощью JQuery

<style> 
    .mydiv { 
     border: 1px solid #00f; 
     cursor: pointer; 
    } 
</style> 

<div class="mydiv">blah blah blah. 
    <a href="http://examples.com">Examples link</a> 
</div> 


Я хочу, чтобы нажать на «бла-бла-бла» текста и перейти к « http://examples.com» ссылку с помощью JQuery.

+0

спасибо за replies..but я хочу тег внутри тега сНу – concept104

+0

я не могу жестко закодировать ссылку window.location.href в JS скрипт, так как его можно изменить на перезагрузке HTML-страницы – concept104

ответ

7

JS:

$(".mydiv").click(function(){ 
    if($(this).find("a").length){ 
     window.location.href = $(this).find("a:first").attr("href"); 
    } 
}); 

ИЛИ:

Просто написать:

<a href="http://examples.com"> 
    <div class="mydiv">blah blah blah. 
     Examples link 
    </div> 
</a> 
+0

op сказал, что ему нужен тег внутри тега div –

+0

Вопрос @dholakiyaankit был обновлен после того, как я опубликовал ответ. в любом случае я его обновлю. – Hiral

+0

Да, я знаю, но я только что проинформировал вас, что определенно приведет op к ответу +1 от меня –

0

Переместить якорь элемент из DIV, чтобы обернуть его

<a href="http://examples.com"> 
    <div class="mydiv">blah blah blah</div>. 
    Examples link 
</a> 
0
$(document).on("click", ".mydiv", function(){ 
    location.href = "http://examples.com"; 
} 
0

Если вы хотите использовать jQuery для этого, вы ищете функцию щелчка.

$('.mydiv').click(function(){ 
    location.href = 'example.com'; 
}); 
0

вы можете просто сделать с HTML

<a href="http://examples.com"> 
    <div class="yourDiv">blah blah blah. 
     Examples link 
    </div> 
</a> 

но

, если вы хотите сделать это с JQuery сделать что-то вроде этого

$(document).ready(function(){ 

    $(".yourDiv").on('click', function(){ 
     //As an HTTP redirect (back button will not work) 
     window.location.replace("http://www.example.com"); 
    }); 

}); 
0

С JQuery, как было предложено:

$(document).ready(function() { 
    $('.mydiv').click(function() { 
    document.location.href='http://examples.com'; 
    }); 
}); 

OFC, вы можете (и должны) позволить браузеру обрабатывать его в соответствии с предложением Hiral.

0

При рассмотрении других ответов, которые не еще были приняты, я предполагаю, что вы хотите использовать несколько <div class="mydiv">, с различными href атрибутами <a> элемента.

Если <a> элемент будет всегда быть последним потомком своего родителя:

$(".mydiv").click(function(){ 
    window.location.href = this.lastChild.href; 
}); 

Не забудьте удалить пробелы и конец <div>.

JSFiddle: http://jsfiddle.net/JAJuE/1/


Если <a> элемент будет где (хотя и не обязательно в конце) в <div>:

HTML

<div class="mydiv">blah blah blah. 
    <a href="http://examples.com" class="mylink">Examples link</a> 
</div> 

JS

$(".mydiv").click(function(){ 
    window.location.href = this.getElementsByClassName("mylink")[0].href; 
}); 

JSFiddle: http://jsfiddle.net/JAJuE/

Смежные вопросы