我有像
这样的Html结构 <p>
<a onclick="try {
toggle_detail("additional");
} catch (e) { alert('RJS error:\n\n' + e.toString()); alert('toggle_detail(\"additional\");'); throw e }; return false;" href="#">Show </a>
</p>
<div id="additional">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
</div>
我正在编写一个原型来显示点击show并隐藏隐藏的附加div。
$$("."+element_id).each(function(el){
if(el.visible()){el.hide();
// el.previous(0).innerHTML="Show";
}
else {el.show();
// el.previous(0).innerHTML="Hide";
}
});
其中element_id =“additional”
如何更新显示/隐藏链接的innerhtml? 我不知道如何更新点击链接的innerHtml .. 请给出建议
答案 0 :(得分:2)
将此添加到您的click
处理程序。
this.innerHTML = (this.innerHTML == 'Show')?'Hide':'Show';
或将调用者作为参数添加到toggle_detail
函数
toggle_detail(this, "additional");
并更改函数以接受该额外参数
function toggle_detail(clickButton, className){
// do what you want with clickButton //
}
改变each
内的文字也没有意义。您应该在each
电话之前或之后只执行一次。
加分:您只需使用if(el.visible()) el.hide(); else el.show()
,而不是el.toggle()
。