jQuery如何替换a href的类名,并单击该sametime来运行该函数
我有一个href链接如下jQuery如何替换a href的类名,并单击该sametime来运行该函数,jquery,click,classname,Jquery,Click,Classname,我有一个href链接如下 <a href="#" class="add_encounter">Add</a> $('.add_encounter').click(function(event) { add_encounter(encounters); event.preventDefault(); }); function save() { var encounter = $('#name').val(); var key = $
<a href="#" class="add_encounter">Add</a>
$('.add_encounter').click(function(event) {
add_encounter(encounters);
event.preventDefault();
});
function save() {
var encounter = $('#name').val();
var key = $('#encounterKey').val();
if (key == '') {
key = null
}
if (encounter == ''){
cancel_encounter()
}
}
function cancel_encounter() {
$('.encounterSubmitter').removeClass().addClass("add_encounter")
$('.add_encounter').text("Add")
}
在add_conference函数中,我将ahref的类名从add_conference更改为conference conference submitter,并希望单击该类名来运行其他函数,但当我单击
link它运行函数并将类名更改为encounterSubmitter,然后更改回同一个类,即add_enounter
function add_encounter(encounters) {
if ($('.add_encounter').text() == "Add"){
$('.add_encounter').removeClass().addClass("encounterSubmitter")
}
$('.encounterSubmitter').click(function(event) {save(); event.preventDefault();});
}
保存功能如下所示
<a href="#" class="add_encounter">Add</a>
$('.add_encounter').click(function(event) {
add_encounter(encounters);
event.preventDefault();
});
function save() {
var encounter = $('#name').val();
var key = $('#encounterKey').val();
if (key == '') {
key = null
}
if (encounter == ''){
cancel_encounter()
}
}
function cancel_encounter() {
$('.encounterSubmitter').removeClass().addClass("add_encounter")
$('.add_encounter').text("Add")
}
取消你的遭遇如下
<a href="#" class="add_encounter">Add</a>
$('.add_encounter').click(function(event) {
add_encounter(encounters);
event.preventDefault();
});
function save() {
var encounter = $('#name').val();
var key = $('#encounterKey').val();
if (key == '') {
key = null
}
if (encounter == ''){
cancel_encounter()
}
}
function cancel_encounter() {
$('.encounterSubmitter').removeClass().addClass("add_encounter")
$('.add_encounter').text("Add")
}
因此,它转到保存函数检查if条件,并转到取消函数
并将类名更改回添加
我知道这个问题有点让人困惑,但我希望无论我如何理解它或遇到过这种问题都能给我解决方法。无法正确测试这一点,但这可能会奏效:
$('.add_encounter').click(function(event) {
add_encounter(encounters);
event.preventDefault();
});
function add_encounter(encounters) {
if ($('.add_encounter').text() == "Add"){
$('.add_encounter').removeClass().addClass("encounterSubmitter")
}
}
$('.encounterSubmitter').live('click',function(event){
save();
event.preventDefault();
});
function save() {
var encounter = $('#name').val();
var key = $('#encounterKey').val();
if (key == '') {
key = null
}
if (encounter == ''){
cancel_encounter()
}
}
function cancel_encounter() {
$('.encounterSubmitter').removeClass().addClass("add_encounter")
$('.add_encounter').text("Add")
}
问题是add_函数正在调用save函数。因此,他会检查你的钥匙,然后调用取消遭遇功能重置链接
即使要绑定的元素在加载javascript后加载,live调用也会工作。HTML
<a href="#" class="add my_encounter">Add</a>
我使用了您的技术,但这里的问题是,如果遇到的不是下面的空$('.my_Conference').bind('click',function(event){if($(this).hasClass('add')){$(“#EncounterList”).slideUp(“slow”).hide();$(“.encounterForm”).show(“slow”);$('encounterbutton').text(“Cancel”)$(此).text(“保存”)$('#上半部分页眉”).text(“添加遭遇”)$(此).removeClass('Add').addClass(“提交者”)}如果($(此).hasClass('submitter')){var-conference=$('#name').val(),key=$('#conferencey').val();如果(键==''){key=null}如果(遭遇=='')类{(此.removeClass('submitter').addClass('addClass)('addClass=).text=).text+)}否则{conferences.Save;}(key,conference);}}event.preventDefault();});因此在这种情况下,如果$(.my_计数器)第二次单击,它会保存两次遭遇。