如果多个元素的HTML高于当前数字,Jquery将更改它们的HTML
好的,我正在创建一个测验,在这里我动态地添加内容,但也在需要时删除它 这是我的HTML:如果多个元素的HTML高于当前数字,Jquery将更改它们的HTML,jquery,html,Jquery,Html,好的,我正在创建一个测验,在这里我动态地添加内容,但也在需要时删除它 这是我的HTML: <div class="well"> <div class="input-group"> <input type="text" name="quizName" class="form-control" placeholder="Quiz name" aria-describedby="basic-addon1"> &
<div class="well">
<div class="input-group">
<input type="text" name="quizName" class="form-control" placeholder="Quiz name" aria-describedby="basic-addon1">
</div>
<hr/>
<button id="add-tab" type="button"> Add Question</button>
<div id="tabs">
<ul>
<li><a href="#tabs-1" class="ActiveQuestion">1</a></li>
</ul>
<div id="tabs-1" class="questionsList">
Question: <input type="text" placeholder="What's your question?" name="question[]"/><br/><br/>
<input type="text" class="question" name="awnser[1][]" placeholder="1st awnser"/>
<input type="checkbox" name="correct_awnser[1][]" value="1"/>
<br/>
<br/>
<input type="text" class="question" name="awnser[1][]" placeholder="2nd awnser"/>
<input type="checkbox" name="correct_awnser[1][]" value="2"/>
<br/>
<br/>
<input type="text" class="question" name="awnser[1][]" placeholder="3rd awnser"/>
<input type="checkbox" name="correct_awnser[1][]" value="3"/>
<br/>
<br/>
<input type="text" class="question" name="awnser[1][]" placeholder="4th awnser"/>
<input type="checkbox" name="correct_awnser[1][]" value="4"/>
<br/>
</div>
</div>
<button value="Save quiz" type="submit">Submit</button>
</div>
我使用的Jquery选项卡包含问题编号(1,2,3,4)
当你删除第二个问题时,列表将是:1-3-4,我想再次将其更改为1-2-3。使用Jquery如何实现这一点?没关系,我只是发现了自己的错误 我必须改变:
if(curreId[1] > number){
console.log(" TRUE");
console.log("New number: "+(curreId[1] - 1));
$("#tabs ul li ").html((curreId[1] - 1));
$(this).filter(function() {
return $(this).html() == (number);
}).html(curreId[1] - 1);
}
致:
我想你可以把事情简化一点。如果您打算按顺序对所有内容重新编号,那么实际上没有必要从ID标记中提取一个数字。如果我理解您的意图,您可以使用index函数为每个link元素提供一个从1开始的序列号
$('#tabs li a').each(function(){
$(this).html($(this).parent().index() + 1);
});
“parent()”是必需的,因为索引将相对于元素的同级计算。“a”元素没有兄弟元素,因为每个li中只有一个,但li元素是兄弟元素,因此是“index()”的良好候选元素
下面是一个非常简化的示例代码笔,用于概念验证。
http://codepen.io/dharshba/pen/QbgaZv?editors=101非常感谢,这对我帮助很大!
if(curreId[1] > number){
console.log(" TRUE");
console.log("New number: "+(curreId[1] - 1));
$(this).html((curreId[1] - 1));
}
$('#tabs li a').each(function(){
$(this).html($(this).parent().index() + 1);
});