Javascript 替换标记(如果存在)

Javascript 替换标记(如果存在),javascript,jquery,Javascript,Jquery,当我点击按钮时,我会在div标记中动态添加一个input标记,因此可能会发生相同的标记在该div中重复的情况。我要做的是用新标记替换现有标记。我的代码如下: <div id="data" name="data"></div> <input type=button value="+ Ajouter Element" onclick="ajouter();"> <script> function ajouter() { for(k=0;

当我点击按钮时,我会在
div
标记中动态添加一个
input
标记,因此可能会发生相同的标记在该div中重复的情况。我要做的是用新标记替换现有标记。我的代码如下:

<div id="data" name="data"></div>
<input type=button value="+ Ajouter Element" onclick="ajouter();">

<script>
function ajouter() {   
    for(k=0;k<i;k++) {
        h=$("#hauteur"+(k+1)).val();
        l=$("#largeur"+(k+1)).val();
        p=$("#position"+(k+1)).val();
        ch+='<div style="width: '+l+'%; height: '+h+'%; border-style:solid; float:'+p+' "></div>';
        $("#data").append('<input type="hidden" name="div'+(k+1)+'" id="div'+(k+1)+'" value="'+(k+1)+';'+h+';'+l+';'+p+'">');}
}
</script>

函数ajouter(){

因为(k=0;k我自己发现的:

if($("#div"+(k+1)).length == 0) {
    $("#data").append('<input type="hidden" name="div'+(k+1)+'" id="div'+(k+1)+'" value="'+(k+1)+';'+h+';'+l+';'+p+'">');
} else {
    $("#data").find("#div"+(k+1)).replaceWith('<input type="hidden" name="div'+(k+1)+'" id="div'+(k+1)+'" value="'+(k+1)+';'+h+';'+l+';'+p+'">');
}
if($(“#div”+(k+1)).length==0){
$(“#数据”)。追加(“”);
}否则{
$(“#数据”).find(“#div”+(k+1)).replace为(“”);
}

希望这能帮助有需要的人:)

我想这意味着你发布问题的时间太早了,或者在发布问题时你已经得到了答案;-)@Maroua Gasmi:对于第二种情况,我建议两个改进:因为,
“div”+(k+1)
是一个唯一的id,并且你知道它存在(测试是关于它存在的),您应该直接找到它,第二件事是只修改必须修改的内容。它将导致以下代码:
$(“#div”+(k+1)).value((k+1)+';“+h+”;“+l+”;+p)
@jan dvorak:由于某种原因,论坛推迟了20分钟才接受我的问题,而我花了20分钟才找到解决方案;)@Samuel Caillerie:谢谢你的改进,特别是第二部分:)