将DIV行添加到现有行

时间:2012-07-19 14:07:59

标签: javascript jquery jquery-selectors

任何人都可以告诉我下面的脚本可能有什么问题吗?

它应该在类名中查找带有#objec的最后一个DIV,然后查找DIV中的最后一个输入元素,然后添加一个新的DIV,其ID / Names已经增加了。我认为这是出错的路线:

var name = $("#objec:last>input").attr("name");

代码在这里:http://jsfiddle.net/mtait/9MbQH/6/

......及以下。

谢谢,

标记

<label id="add_tag"> 
     Click me to add a new row
</label> 


<div class="objec">
    <div class="row">
        <div class="span4">
            <input class="span4" data-val="true" data-val-required="Objective&#32;is&#32;required" id="Objectives_7__objective" name="Objectives[7].objective" type="text" value="Timecard Completion" />
        </div>
     </div>
</div>


$(document).ready(function() {
var re = /\[(.*?)\]/;
$("#add_tag").click(function() {
    var name = $("#objec:last>input").attr("name");
    var m = re.exec(name);
    var itemNumber = parseInt(m[1]) + 1;
    var $newdiv1 = $('<div class="objec"><div class="row"><div class="span4"><input class="span4" data-val="true" data-val-required="Objective&#32;is&#32;required" id="Objectives_' + itemNumber + '__objective" name="Objectives[' + itemNumber + '].objective" type="text" value="..." /></div></div>');
    $(".objec:last").after($newdiv1);
    return false;
});
});

3 个答案:

答案 0 :(得分:1)

此类用法适用于ID。如果object是ID,您可以使用下面的

 $("#objec:last>input")

在你的情况下是一个类名

所以试试

  $(".objec")

答案 1 :(得分:0)

可能你想要这个:

var name = $(".objec:last input").attr("name");

Live demo

了解Descendant combinatorChild combinators之间的差异。

答案 2 :(得分:0)

如果我没弄错的话,我认为你应该使用“。”选择引用类与id的选择器。 ex / $(“。objec:last&gt; input”)。attr(“name”);

相关问题