jQuery+中的If-else条件;附加函数
我有这种情况:jQuery+中的If-else条件;附加函数,jquery,Jquery,我有这种情况: $(document).on("click", "#save, .delRow, #closeAddButton", function (e) { if ($(this).is("#save")) { $($("#template").html()).appendTo("#dataTables-example"); $(".rowValue").append($("#textValue").val()).attr("class", "row
$(document).on("click", "#save, .delRow, #closeAddButton", function (e) {
if ($(this).is("#save")) {
$($("#template").html()).appendTo("#dataTables-example");
$(".rowValue").append($("#textValue").val()).attr("class", "rowValues");
$(".taskValue").append($("#task").val()).attr("class", "taskValues");
$(".ProleValue").append($("#primaryRole").val()).attr("class", "roleValues");
var stuff = $("#secondaryRole").val();
var result = (stuff.substr(stuff.length-2, 2) == ", ")? stuff.substr(0, stuff.length-2):stuff;
$(".SroleValue").append(result).attr("class", "roleValues");
$(".actions").append('<a href="#" class="edit" data-toggle="modal" data-target="#myModalEdit"><i class="fa fa-edit fa-fw"></i></a>' +
'<a href="#" class="delRow"><i class="fa fa-trash-o fa-fw"></i></a>').attr("class", "");
/* Update Numbering */
updateRowOrder();
if($('#dataTables-example tbody tr').length == 2)
{
$('#dataTables-example tbody tr:first').find('.moveDown').show();
$('#dataTables-example tbody tr:last').find('.moveUp').show();
}
else if ($('#dataTables-example tbody tr').length > 2)
{
$('#dataTables-example tbody tr:first').find('.moveDown').show();
$('#dataTables-example tbody tr').find('.moveUpDown').show();
$('#dataTables-example tbody tr:last').find('.moveUp').show();
}
else {
}
}
});
$(文档)。在(“单击”、“#保存、.delRow、#关闭添加按钮”上,函数(e){
如果($(this).is(#save))){
$($(“#模板”).html()).appendTo(“#数据表示例”);
$(“.rowValue”).append($(“.rowValue”).val()).attr(“类”,“行值”);
$(“.taskValue”).append($(“.task”).val()).attr(“类”,“任务值”);
$(“.ProleValue”).append($(“#primaryRole”).val()).attr(“class”,“roleValues”);
var stuff=$(“#secondaryRole”).val();
var result=(stuff.substr(stuff.length-2,2)=“,”)?stuff.substr(0,stuff.length-2):stuff;
$(“.SroleValue”).append(result).attr(“class”,“roleValues”);
$(“.actions”).append(“”+
'').attr(“类“,”);
/*更新编号*/
updateRowOrder();
如果($('#数据表示例tbody tr')。长度==2)
{
$('#dataTables示例tbody tr:first').find('.moveDown').show();
$('#dataTables示例tbody tr:last').find('.moveUp').show();
}
else if($('#数据表示例tbody tr')。长度>2)
{
$('#dataTables示例tbody tr:first').find('.moveDown').show();
$('#dataTables示例tbody tr').find('.moveUpDown').show();
$('#dataTables示例tbody tr:last').find('.moveUp').show();
}
否则{
}
}
});
}))
这是我的HTML:
<table class="table table-bordered" id="dataTables-example">
<thead>
<tr>
<td>Order</td>
<td>Activity</td>
<td>Task Code</td>
<td>Primary Role Code</td>
<td>Secondary Role Code</td>
</tr>
</thead>
<tbody>
<script id="template" type="text/template">
<tr class="move">
<td class="id"></td>
<td><p class="rowValue"></p></td>
<td><p class="taskValue"></p></td>
<td><p class="ProleValue"></p></td>
<td><p class="SroleValue"></p></td>
<td><p class="actions"></p></td>
<td><p class="moveUp" style="display:none;"><a href="#" class="up"><i class="fa fa-arrow-up fa-fw"></i></a></p>
<p class="moveUpDown" style="display:none;">
<a href="#" class="up"><i class="fa fa-arrow-up fa-fw"></i></a>
<a href="#" class="down"><i class="fa fa-arrow-down fa-fw"></i></a>
</p>
<p class="moveDown" style="display:none;"><a href="#" class="down"><i class="fa fa-arrow-down fa-fw"></i></a></p>
</td>
</tr>
</script>
</tbody>
</table>
命令
活动
任务代码
主要角色代码
辅助角色代码
如果我单击“添加”按钮,它将附加html代码。如果表行仅为1,如何在此代码中插入if..else语句:它不会插入html代码;然后,if有2个表行:对于第一个表行,它将插入类“down”,对于最后一个表行,它将插入类“up”;如果有3个表行:对于第一个表行,它将插入类“down”,第二个表行,它将插入类“up”和“down”,对于第三个表行,它将插入类“down”。
对于摘要,如果有两个或更多的表行,则第一个表行只能有“向上”类,最后一个表行只能有“向下”类。$(“#添加按钮”)。单击(函数(){
$('#addButton').click(function(){
var count = $('#dataTables-example tbody tr').length;
if(count > 1)
{
$(#dataTables-example tbody tr:first-child).addClass( "up" ); // add class for first row
if(count > 2)
{
for(i=1;i<(count-1); i++)
{
$(#dataTables-example tbody tr).eq(i).addClass( "up down" ); //add class for intermediate rows
}
}
$(#dataTables-example tbody tr:last-child).addClass( "down" ); // add class for last row
}
});
变量计数=$('#数据表示例tbody tr')。长度;
如果(计数>1)
{
$(#dataTables示例tbody tr:first child).addClass(“up”);//为第一行添加类
如果(计数>2)
{
对于(i=1;i选中上面的条件,将html标记存储在变量中,并像append(variable)一样传递它。我不确定我是否完全理解您的问题,但您不能用$(“.upDown tr”)计算数字或行数吗.length,然后使用标准的JS if…else语句根据行数决定要运行的代码?如果您发布所需的HTML片段,它将更易于可视化。我编辑了上面的代码。我正在处理它。但我的问题是每次“添加”时,我如何再次处理代码或重新计算,以便找到f第一行和最后一行。