2011-03-28 94 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

相关问题