2013-02-15 8 views
0

Я пытаюсь использовать .addClass(), чтобы добавить разные абзацы к одному и тому же, но он не работает, он всегда добавляет все абзацы в div.addClass Не работает

вот мой HTML код:

<div class="topText" id="text1"> 
    <a class="p1">link1</a> 
    <a class="p2">link2</a> 
    <a class="p3">link3</a> 
    <a class="p4">link4</a> 
    <div class="popUp"> 
    <p class="t1" style="text-align:justify;">text 1</p> 
    <p class="t2" style="text-align:justify;">text 2</p> 
    </div> 
    </div> 

вот мой Jquery код:

$(document).ready(function(){ 

    $('#text1 p').click(function(event){ 

    $('.popUp').toggle(function(){ 
    $(this).animate({ width: 500, height: 200}).css('visibility','visible'); 

    //event.target è l'elemento su cui l'utente ha cliccato 
    var $target = $(event.target); 

    //inibisce il comportamento standard del link 
    event.preventDefault(); 

    if ($target.hasClass('p1')) { 
    $('.popUp').addClass('t1'); 
    } 
    else if ($target.hasClass('p2')) { 
    $('.popUp').removeClass('.t1').addClass('.t2'); 


    } 
    else if ($target.hasClass('p3')) { 

    }    
    else if ($target.hasClass('p4')) { 

    } 
     }); 


    }); 
}); 
+0

Какая черта делает эту функцию 'toggle()'? – adeneo

ответ

0

Может быть, я недоразумение своей цели, но addClass() не создает элементы. Он добавляет атрибут класса HTML в селектор.

0

addClass предназначен для добавления классов CSS к элементу. Например, для «добавления» абзаца используется более подходящий метод, например, .append. .append docs

+0

Прошу прощения, но я новичок в jQuery. Тем не менее, я пытался использовать '.append()' вместо '.addClass()', но результат тот же, он добавляет всегда все абзацы togheter. Что мне нужно, это то, что если я нажму на первую ссылку, первый абзац появится в div, а если я нажму на вторую ссылку, второй абзац появится в том же div, но сначала исчезнет. Прошу прощения за мой английский – user2075852