2013-04-25 6 views
0

Я нашел функцию Js для складного текста.Как заменить специальный символ на onclick?

function toggle(id) { 
     var e = document.getElementById(id); 

     if (e.style.display == '') 
     e.style.display = 'none'; 
     else 
     e.style.display = ''; 
    } 

    </script> 

А вот HTML:

► Title01 Text01, Text01, Text01, Text01, Text01, Text01, Text01, Text01, Text01,

Я хотелось бы, когда я включил этот специальный символ: &#9658; это изменилось бы в этом: &#9650;, любые подсказки?

Заранее благодарен!

+0

Изменение содержимого ссылки на клики. innerHtml решит вашу проблему. – melancia

+0

Здравствуйте, не могли бы вы уточнить, пожалуйста. Я очень визуальный: S –

+1

обертывают специальный символ в, например. '' так вы можете найти по своему 'id' и изменить его с помощью' innerHTML'. –

ответ

0

обернуть Speacial символа HTML &#9658; с <span> тегом:

<a onClick="toggle(this, 'node1')"><span>&#9658;</span> Title01 </a> 

, то вы можете изменить его на &#9650; после показа скрытого элемента и обратно &#9658;, когда она скрыта:

function toggle(elm, id) { 
    var e = document.getElementById(id), 
     a = elm.getElementsByTagName('span')[0]; 


    if (e.style.display == 'none') 
    { 
    e.style.display = ''; 
    a.innerHTML = '&#9650;'; 
    } 
    else 
    { 
    e.style.display = 'none'; 
    a.innerHTML = '&#9658;'; 
    } 
} 

Demo

+2

Вам не хватает скобок вокруг ваших утверждений if и else, но, честно говоря, зачем повторять одну и ту же строку дважды? Если он находится в if и еще, то почему он находится внутри if. –

+2

в дополнение к JoshMein, если вы предлагаете использовать библиотеку типа 'jquery', вы должны упомянуть об этом. кроме того, если jquery '$ (this) .innerHTML' не работает, потому что' $ (this) 'является объектом jquery, а не' HTMLElement' и поэтому не имеет атрибута 'innerHTML', который вы могли бы использовать. –

+2

t.niese отлично подходит. Вы даже не упоминали, что ваш код использовал библиотеку, которая, скорее всего, OP не реализовала бы, и ваш код не сработает. Также вы должны действительно описать свой код, поскольку OP просто вставляет его в свой проект и не узнает, что он на самом деле делает. –

Смежные вопросы