/ / Промяната на цветовете на братята и сестрите се проваля с jquery - jquery

Промяната на цветовете на братята и сестрите се провали с jquery - jquery

Здравейте Започвам с jquery и don "tзнам защо това не работи ... Искам да променя цвета на връзката, след като е щракнат. Когато щракнете върху други връзки, връзките трябва да станат отново бели, текущият щракнат елемент трябва да е жълт ... но всички връзки продължават да са жълти ...?!

Ето и скриптът: http://jsfiddle.net/adkWe/

  <script type="text/javascript">
$(document).ready(function() {
$(".main a").click(function(){
$(this).css({"color":"#ffd601"});
$(this).siblings("a").css({"color":"#fff"});
});


});


</script>

<div id ="navigation">
<ul class="main">
<li><a href="#test1">Test1</a></li>
<li><a href="#test2">Test2</a></li>
<li><a href="#test3">Test3</a></li>
<li><a href="#test34">Test4</a></li>

</ul>

Отговори:

1 за отговор № 1

Има проста промяна, която можете да направите в текущия си код:

$(this).parent().siblings().find("a").css({"color":"#fff"});

Ефективно на <a>нямате опростявания, така че използвате .parent() за преместване на <li>s и изберете техните братя и сестри.

Ive актуализира цигулката си

Al


3 за отговор № 2

Ако искате да го направите чрез братя и сестри, можете да направите нещо подобно:

$(document).ready(function() {
$(".main li").click(function(){
/*finding link inside the li */
$(this).find("a").css({"color":"#ffd601"});
/*finding siblings of li and then link inside it */
$(this).siblings().find("a").css({"color":"#fff"});
});
});​

1 за отговор № 3

Насочвате елементи на котва които са вътрешни LI елементи, така че да нямат братя и сестри!

Можете да нещо подобно:

$(document).ready(function() {
$(".main a").click(function() {
$(this).css({
"color": "#ffd601"
})
// go up to the UL element, find all anchors and exclude the current
.closest("ul").find("a").not(this).css({
"color": "#fff"
});
});
});​

ДЕМОНСТРАЦИЯ


1 за отговор № 4

Опитайте следното:

http://jsfiddle.net/adkWe/13/

РЕДАКТИРАНЕ:

Той използва същия принцип, но аз извадих стила в css клас.


0 за отговор № 5

маркерите за котва са вътре в маркерите на артикули в списъка, така че те нямат братя и сестри.

alert($(this).siblings("a").length); // this alerts 0 in your fiddle

Fix:

http://jsfiddle.net/adkWe/23/

$(this).parents("ul").find("a").not(this).css({"color":"#fff"});

0 за отговор № 6

Не можете да имате достъп до братя и сестри, защото вашите котвени елементи са обвити в елемент li.

 div#navigation
ul.main
li
a
li
a
li
a
li
a

Можете да изберете всяко нещо като навигация

$("#nav a").each(function(i,val){
$(this).css(...);
});

0 за отговор № 7

Имате нужда от родителски братя и сестри

$(".main a").click(function(){
$(this).css({"color":"#ffd601"});
$(this).parent("li").siblings().find("a").css({"color":"#fff"});
});

Използването на tagname като аргумент в родител () не е необходимо, просто е тук за по-голяма яснота