2013-02-01 19 views
0

新的Jquery,不理解如何使用它做數組,我想知道如何使一個div根據它的類,以及一個鏈接因爲它可以根據其類別鏈接到不同的東西(下面的示例)。JQuery - 使整個div的鏈接到不同的東西取決於它的類

CSS -

.a (link to domain.com/a) 
.b (link to domain.com/b) 
.c (link to domain.com/c) 

HTML

<div class="a"> 
<div> 
+0

div不能成爲鏈接,但是您可以根據其類應用點擊處理程序和事件。你是這個意思嗎? –

+0

我想是的,我已經嘗試了下面的兩個答案,但似乎無法讓他們工作,所以我假設我做錯了我的一部分 - 我應該提到我使用html5的引導自定義樣板,如果它有任何區別,並且即時通訊類試圖是後續版本例如'.a:' – idekman

回答

1

這個小片段將做到這一點:

$(function() { 
    $('div').each(function() { 
     $(this).wrap('<a href="http://example.com/' + $(this).attr('class') + '" />'); 
    }); 
}); 

演示上的jsfiddle - http://jsfiddle.net/FloydPink/zkuFA/

這樣做是使用jQuery wrap function添加動態使用的divclassnameanchor標籤爲其href屬性

+0

之後這種作品,但我不知道如何適應它只使某些類可點擊的div,現在它使我的整個頁面可點擊 – idekman

+0

好的更新:得到它在特定的divs上工作現在的問題是,它也插入所有的父母divs,所以它去example.com/parent兒童等 – idekman

+0

我適應了這個,並得到它的工作,我希望它!我使用下面的代碼,可能是粗略的,但它做到了這一點 - $(function(){('。a')。each(function(){this(this).wrap(''); }); }); – idekman

1

是的,你可以這樣做:

$('.a').click(function(){ 
    window.location = "www.google.com"; 
}); 
$('.b').click(function(){ 
    window.location = "www.yahoo.com"; 
}); 

更換www.google.comwww.yahoo.com成你想要的地址類ab

0

這可以通過window.location.replace()這樣實現:

$('.a').click(function(){ 
    window.location.replace('http://www.mysite.com/'+$(this).attr('class')); 
    //---------> output url---> http://www.mysite.com/a 
}); 

$('.b').click(function(){ 
    window.location.replace('http://www.mysite.com/'+$(this).attr('class')); 
    //---------> output url---> http://www.mysite.com/b 
}); 

這將替換當前文檔與新的。

相關問題