Здравейте Започвам с 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 и изберете техните братя и сестри.
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
Опитайте следното:
РЕДАКТИРАНЕ:
Той използва същия принцип, но аз извадих стила в css клас.
0 за отговор № 5
маркерите за котва са вътре в маркерите на артикули в списъка, така че те нямат братя и сестри.
alert($(this).siblings("a").length); // this alerts 0 in your fiddle
Fix:
$(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 като аргумент в родител () не е необходимо, просто е тук за по-голяма яснота