Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果多个元素的HTML高于当前数字,Jquery将更改它们的HTML_Jquery_Html - Fatal编程技术网

如果多个元素的HTML高于当前数字,Jquery将更改它们的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"> &

好的,我正在创建一个测验,在这里我动态地添加内容,但也在需要时删除它

这是我的HTML:

<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);    
});