【发布时间】:2014-06-18 11:43:49
【问题描述】:
我可以使用 jquery remove 函数删除所有带有名为 trSkillCls 的类的文本框。我想要实现的目标是,如果有 5 个具有相同类名的文本框,我不想全部删除,但只有 4 个应该删除,即总是少一个元素。我必须实际编写一个函数来删除所有文本字段,只留下一个文本字段留在保存按钮单击上。 这是我的代码:
$("#addAnotherSkillBtn").click(function(){
addAnotherSkill();
});
function addAnotherSkill(){
var trSkillHTML = $("<div />").append($("#trSkill").clone()).html();
$("#tBSkill").append(trSkillHTML);
}
function removeSkill(self){
var delBtnCtr = $('#tBSkill').find('.deleteSkillCls').length;
if(delBtnCtr > 1)
$(self).closest('tr').remove();
}
还有 HTML:
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td ><strong>Employee</strong></td>
<td width="2%">:</td>
<td width="82%"><input name="empName" id="empName" type="text" style="width:100%;height:30" maxlength="30" ></td>
</tr>
<tr>
<table class="skillTable" border="0" cellpadding="0" cellspacing="0" width="480">
<tbody id="tBSkill">
<tr id="trTitle">
<td width="206"><strong>Skill</strong></td>
<td width="270"><strong>Level</strong></td>
<td></td>
</tr>
<tr id="trSkill" class="trSkillCls">
<td><input name="skill" id="skillP0" style="height:30;width:190;" maxlength="60" autocomplete="off" tooltip="Please enter only one IT skill per box." type="text"></td>
<td >
<select name="ddlSkillLevel" class="w180">
<option value="-1">Level</option>
<option value="00" selected="selected">Beginner</option>
<option value="01">Intermediate</option>
<option value="02" >Expert</option>
<!-- <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08">8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> -->
</select>
</td>
<td>
<input type="button" class="deleteSkillCls" name='parentDel' onclick="removeSkill(this)" value="Delete">
</td>
</tr>
</tbody>
</table>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<input type="hidden" id="str" name="str" value="" />
<input type="button" name="addAnotherSkill" id='addAnotherSkillBtn' value="Add Another Skill">
<input type="submit" name="submit" id="btnSave" value="Save">
<input type="reset" name="reset" value="Reset"></td>
</tr>
</table>
【问题讨论】:
-
对于哪个元素留给文档有什么规则吗?
-
@Teemu 可以删除所有 5 个具有相同类名的文本框,但我只希望删除 4 个..即总是少一个。
-
#trSkill它的克隆 5 次是无效标记由于 id 重复 导致不同的行为。 -
@Jai。你说的是真的。但是当我添加它们时,它只会选择带有 id 的原始的。 append() 添加具有不同标识的元素
-
@Surily 那么一切都很好。
标签: javascript jquery html dom