试试这个方法:
标记
<a href="javascript:void(0);" onclick="fnShowHide.call(this, [1]);" id="name">Show Name</a>
JS
function fnShowHide( iCol ) {
//Your code
$(this).text(function(_, text) { //now this refers to the element clicked
return text === 'Show Name' ? 'Hide Name' : 'Show Name';
});
}
小提琴
或使用 jquery 进行事件注册并摆脱元素上的内联 onclick 属性,使用 data-* 属性指定元素的相关数据并使用 jquery data api 获取它:
化妆
<a href="javascript:void(0);" data-icol="[1]" id="name">Show Name</a>
JS
$(function(){
$('#name').click(fnShowHide);
});
function fnShowHide()
{
var iCol = $(this).data('icol'); //will give [1]
//Your code
$(this).text(function(_, text) { //now this refers to the element clicked
return text === 'Show Name' ? 'Hide Name' : 'Show Name';
});
}
演示
更新
基于对多个字段的评论支持。
$(function () {
$('.fields').click(fnShowHide);
});
var showregex = /^Show/i; //matches starting Show word
var hideregex = /^Hide/i; //matches starting Hide word
function fnShowHide() {
var iCol = $(this).data('icol'); //will give [1]
console.log(iCol);
//Your code
$(this).text(function (_, text) { //now this refers to the element clicked
return showregex.test(text) ? //test if it Show
text.replace(showregex, 'Hide') : //replace it with hide
text.replace(hideregex, 'Show'); // else replace it with show
});
}
小提琴