2013-02-01 63 views
2

嗨,我正在尝试编写一个博客主题,它将包含标签等,所以我希望对于大多数父级div的某些类进行更改当用某些东西标记时(下面的例子)。JQuery - 如果某些其他元素存在,则将某些元素类更改为特定的类

类跨度(使用自举)

HTML

<div id="a" class="span6"> 
</div> 

<div id="b" class="span6"> 

<a class="taglink">[tag]</a> 

</div> 

我想是DIV a和b的类来改变说span12,只有他们并没有其他的父/相邻/孩子等divs。

这是这样,当我与标签某些标记后,我想它的一些布局属性的改变(通过其CSS类)

回答

0

创建用于a.taglink时内容的事件监听器更改,然后使用以下命令:

$('#a.span6,#b.span6').removeClass('span6').addClass('span12'); 
+2

这可能更改页面中的另一个元素 – Sedz

+0

@HighParkCoder是啊,因为你使用的是类选择器,这将选择具有类=“span6”的页面上的任何内容,而不仅仅是div id =“a”和id =“b”... – abc123

+0

明白了,我在参数上并不清楚。你是绝对正确的。不会$('#a.span6,#b.span6')。removeclass('class6')。addClass('class12');那么工作? – BBagi

0

使听者的标记,以便它会调用以下

$('#a,#b').addClass('span12').removeClass('span6'); 

我希望这将有助于

如果你想别的了听众请表现出更多的代码

0

这将选择您想要的确切元素和交换类:

$(".taglink").click(function(){ 
    $(this).parent("#b").removeClass('span6').addClass('span12').prev("#a").removeClass('span6').addClass('span12'); 
}); 

演示:http://jsfiddle.net/rniestroj/aKK3c/

+0

我没有看到有关点击的任何信息。我错过了什么? –