jQuery动态添加元素

时间:2014-04-10 10:39:43

标签: jquery

我在点击功能上添加了一个div,发现这个代码工作正常

function GetHtml()
{
    var len = $('.extraPerson').length;
    var $html = $('.extraPersonTemplate').clone();

    $html.find('[id=condition]')[0].name="condition[]"; // drop-down
    $html.find('[id=data_type]')[0].name="data_type[]";
    $html.find('[id=filter]')[0].name="filter[]";
    $html.find('[id=detail]')[0].name="detail[]";

    return $html.html();    
}

现在我想添加更多元素,但需要检查

IF <new_element> NO EXIST THEN 
$html.find('[id=new_element]')[0].name="new_element[]";

但不确定如何

4 个答案:

答案 0 :(得分:0)

您可以使用

if( $html.find('[id=new_element]').length == 0 ) {
  // add your element here
}

如果没有更多关于结构外观的内容或者您希望添加的内容,我可以提供更多帮助。

此外,您的发现可以简化为:

$("#condition", $html).attr("name", "condition[]"); // drop-down
$("#data_type", $html).attr("name", "data_type[]");
$("#filter", $html).attr("name", "filter[]");
$("#detail", $html).attr("name", "detail[]");

答案 1 :(得分:0)

请尝试使用以下代码段。

if($html.find('[id=new_element]').Length == 0)
{
    $html.find('[id=new_element]')[0].name="new_element[]";
}

答案 2 :(得分:0)

试试下面的代码:

if(typeof $("identificate_your_element").get(0) == "undefined"){
    // do stuff
}

答案 3 :(得分:0)

首先看看你的功能在做什么,然后再说出你想要的东西。

    function GetHtml()
    {
        // Getting length of element with class extraPerson
        var len = $('.extraPerson').length;

        // Making clone of html element having class extraPersonTemplate
        var $html = $('.extraPersonTemplate').clone();

        // Finding html element having ID[condition] inside cloned element and setting name atrribute condition[]
        $html.find('[id=condition]')[0].name="condition[]"; // drop-down
        // Finding html element having ID[extraPersonTemplate] inside cloned element and setting name atrribute data_type[]
        $html.find('[id=data_type]')[0].name="data_type[]";
        // Finding html element having ID[filter] inside cloned element and setting name atrribute filter[]
        $html.find('[id=filter]')[0].name="filter[]";
        // Finding html element having ID[detail] inside cloned element and setting name atrribute detail[]
        $html.find('[id=detail]')[0].name="detail[]";


        //finally returning clone element with setting all the element attribute present inside it
        return $html.html();    
    }

这里你要克隆一个html元素并设置元素的name属性

如果你必须添加新元素而不是尝试类似这样的东西

IF <new_element> NO EXIST THEN 
    $html.append($('<div>NEW DIV</div>'));