javascript - using Onclick - Change text separately -
i have on-click function change text...in 2 span tags. prob 1 click 2nd span. . first span text getting changed. . when click span text in should change. . .in future adding more span. . should work also. . need change code work span separately.
html
<h2 class = "trigger">2012-2013 <span id="element1" onclick="javascript:changetext(1);">[+]</span></h2> <div class = "toggle"> <h4>annual report (2012-2013)</h4> <h2 class = "trigger">2013-2014 <span id="element2" onclick="javascript:changetext(3);">[+]</span></h2> <div class = "toggle"> <h4>annual report (2013-2014)</h4>
js
function changetext(idelement) { var element = document.getelementbyid('element' + idelement); if (idelement === 1 || idelement === 2) { if (element.innerhtml === '[+]') element.innerhtml = '[-]'; else { element.innerhtml = '[+]'; } } } function changetext(idelement) { var element = document.getelementbyid('element' + idelement); if (idelement === 3 || idelement === 2) { if (element.innerhtml === '[+]') element.innerhtml = '[-]'; else { element.innerhtml = '[+]'; } } }
trigger function:
$('.trigger').next('.toggle').hide(); $('.trigger').click(function() { var el = $(this).next('.toggle'); var doit = (el.is(':visible')) ? el.slideup() : ($('.toggle').slideup()) (el.slidedown()); });
fiddle
if want change spans state between +
, -
can make use of this
make work of them, don't need id..
<span onclick="changetext(this);">[+]</span> function changetext(element) { if (element.innerhtml === '[+]') element.innerhtml = '[-]'; else element.innerhtml = '[+]'; }
check jsfiddle
updated
as per update, fiddle slide
Comments
Post a Comment