2011-03-28 42 views

回答

11
$('.link_to_rule_them_all').bind('click', function(e) { 
    e.preventDefault(); 
    $('#box').attr('class', ($('span', $(this)).attr('class'))); 
}); 

活生生的例子:http://jsfiddle.net/moeishaa/3t33d/

+0

雅,我知道,。點擊是隻是一個包裝的綁定我覺得 – moe 2011-03-28 22:36:04

+0

對不起,我不是肯定的,如果它要緊,但對代碼繼承人更新..孤單應該是多個環節,一個框元素..問題似乎是它永遠不會清除之間的類..它只是繼續添加.. http://jsfiddle.net/DfXUU/2/得到我的意思? – Joonas 2011-03-28 22:44:00

+0

我用新的jsfiddle鏈接更新瞭解決方案 – moe 2011-03-28 22:52:14

2

使用此:

<a class="link_to_rule_them_all" href="javascript://"> 

$('.link_to_rule_them_all').click(function() { 
$('#box').attr('class',$(this).attr('class'))  
}) 

這是適當的形式使用空HREF而不是散列。

+0

以及href實際上指向某處,所以我想這不會做.. – Joonas 2011-03-28 22:45:30

+1

如果HREF指向某處你會被帶到另一個頁面,所以你不會看到這一個是怎麼回事。 – 2011-03-28 22:56:22

2

首先,你可以直接添加聽者的跨度是這樣的:

$('span').click(function(e) { 

然後你就可以在類屬性添加到DIV

$('#box').append($(e.target).attr('class')); 

好吧,讓我們試試這個,然後

$('.link_to_rule_them_all').click(function(e) { 
//if you wanna attribute the span classes to the #box as classes 
var box = $('#box') 
box.removeClass(); 
box.addClass($(this).children('span').attr('class')); 
}) 

如果您想添加跨度類作爲文本:

$('.link_to_rule_them_all').click(function(e) { 
var box = $('#box'); 
box.text(); 
box.append($(this).children('span').attr('class')); 
)} 
+0

我把鏈接那裏有一個原因雖然..也更新第一篇文章,說'#box'元素應該在每次點擊之間清除..否則它只是不斷添加到它..對嗎? – Joonas 2011-03-28 22:51:12

+0

對不起,並不意味着無禮。我更新了其他東西,我不確定它是否合適,但你有兩個選項。 – Bene 2011-03-29 01:23:20

相關問題