我有这个jquery代码
$("#eioShowLink").on('click',function(){
$("#ioEditRelatedConcepts").html('');
$.getJSON("http://localhost/Mar7ba/Ontology/getRelatedConceptsAndRelations/"+conceptName+"/TRUE", function(data){
var concepts = data[0];
var relations = data[1];
for(var i = 0 ; i < concepts.length ; i++){
(function(currentConcept, currentRelation) {
$.getJSON("http://localhost/Mar7ba/InformationObject/getIOsForConcept/"+currentConcept+"/TRUE" , function(data1){
var IOS = '';
IOS +="<option>Select IO</option>";
for(var j=0;j<data1.length;j++){
IOS+="<option>"+data1[j]+"</option>";
}
$("#ioEditRelatedConcepts").append('<p>\n\
connect to\n\
<span class="ioAddConcept">'+ currentConcept +'</span>\n\
with\n\
<span class="ioAddRelation">'+ currentRelation +'</span>\n\
<select name ="concetedIOs[]" class="TypeSelector">'+IOS+'</select>\n\
<span class="errorMessage"></span>\n\
<a href="#" class="removeA" id="eioRemoveIO">remove</a>\n\
</p>\n\
<p>');
});
})(concepts[i], relations[i]);
}
});
});
它运作良好,现在我想按下链接“eioremoveIO”我想删除最近的P标签,所以我尝试了这个
$("#editOnePlace").on('click','#eioRemoveIO',function(){
$(this).closest('p').remove();
});
但按下时没有任何反应,似乎它甚至没有被解雇,你能告诉我我做错了什么吗?
#editOnePlace"
是我的div的ID(不会出现在这里)
html
<li>
<p>
<label>Concepts</label>
<a href="#" class="smallLink" id="eioShowLink">Show Concepts</a>
</p>
<div id="ioEditRelatedConcepts">
</div>
</li>
答案 0 :(得分:3)
jQuery函数最接近给出最近的祖先你可以使用prev / next来获得上一个/下一个兄弟。
$("#editOnePlace").on('click','#eioRemoveIO',function(){
$(this).prev('p').remove();
});
答案 1 :(得分:2)
假设您使用的是最新版本的jQuery:
$('#eioRemoveIO').live('click',function(){
$(this).closest('p').remove();
});