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:谢谢你的改进,特别是第二部分:)