2013-03-26 3 views
1

Я работаю на очень динамичной странице, которая будет иметь много того, что мы будем называть кнопками для простоты (на самом деле это divs).Использование JQuery, как вы меняете css объекта, который вы нажимаете?

Эти кнопки имеют тег диапазона, внутри которого есть display:none;. Все эти «кнопки» имеют Span внутри с классом css, который скрывает их. Я не могу создать #ID для каждого из них, они будут динамическими

Как я могу, используя JQuery, анимировать, используя .show() только щелчок элемента. Я не могу ввести идентификатор, потому что он будет создан динамически с помощью php.

ответ

0

использовать это JQuery:

$(document).ready(function(){ 
    $("tag name or id on which you will click").click(function(){ 
     $("tagname on which you want to apply the css").css("property_name","property_value"); 
    }); 
}); 
+0

Да, но мне нужно сделать это динамически. Объект не будет существовать до тех пор, пока он не будет создан в php. – Ampix0

+1

@ Ampix0 Вот почему я предлагаю вам использовать .ready, так что это выйдет после загрузки страницы. –

5
$('.button').click(function(){ 
    $(this).find('span').show(); 
}) 

jsfiddle

+1

Скорее всего, это самый близкий ответ, но, по его словам, он не назначил никаких идентификаторов. Поэтому замена '' # button'' на '.buttonClass'' кажется лучше, на мой взгляд :) Upvote тем не менее. – fjdumont

+0

Я добавил скрипку к вашему ответу, чтобы показать ее в действии. – fjdumont

+0

Эта работа КРАСИВАЯ. короткий, простой и эффективный. Не думаю, что вы можете помочь с еще одной мелочью? span3 будет резко вскакивать в высоту, чтобы медленно окунуться в «пролет», однако он будет анимировать только отлично. Любые идеи по анимации высоты span3 до правильной высоты перед отображением диапазона? ключ знает, на какую высоту идти. – Ampix0

1

Попробуйте

$("div").click(function(){ 
    $(this).children("span").show(); 
}); 

DEMO

Дополнительная информация here

0

Here есть скрипку.

$('div').click(function(){ 
    $(this).find('span').fadeIn("slow"); 
}); 
0

попробовать это

$(".button").click(function(){ 
    $("div span").hide(); 
    $(this).find("span").show();  
}); 
Смежные вопросы