<html>
<head>
<script>
function addItem(){
var obj=document.getElementsByTagName("ol");
for(i=0;i<obj.length;i++)
if(obj[i].innerHTML=='中国'){
alert("已经存在");return;
}
var oNewOl=document.createElement("ol");
a1.insertAdjacentElement("afterEnd",oNewOl);
oNewOl.innerText="中国";
}
</script>
</head>
<body><ol onclick="addItem()"><span id="a1">检索</span></ol>
</body></html>

解决方案 »

  1.   

    qiushuiwuhen(秋水无恨):
    上边
    var oNewOl=document.createElement("ol");
    a1.insertAdjacentElement("afterEnd",oNewOl);
    oNewOl.innerText="中国";
    增加的内容始终在<span></span>当中,对吧也就是说,如果增加了之后,点击到"中国"字符时,也会做onclick的调用,能不能不让它增加到<span></span>中去,换句话说,就是当增加了"中国"后,点击"中国"时,不做alert
      

  2.   

    留着alert是为了测试,你可以删除
    <html>
    <head>
    <script>
    function addItem(){
    var obj=document.getElementsByTagName("ol");
    for(i=0;i<obj.length;i++)
    if(obj[i].innerHTML=='中国'){
    alert("已经存在");return;
    }
    var oNewOl=document.createElement("ol");
    event.srcElement.insertAdjacentElement("afterEnd",oNewOl);
    oNewOl.onclick=addItem
    oNewOl.innerText="中国";
    }
    </script>
    </head>
    <body><ol onclick="addItem()">检索</ol>
    </body></html> 
      

  3.   

    <html>
    <head>
    <script>
    var jnkc;
    function addItem(){
    var obj=document.getElementsByTagName("ol");
    for(i=0;i<obj.length;i++)
    if(obj[i].innerHTML=='中国'){
    (!jnkc)?alert("已经存在"):'';return;
    }
    var oNewOl=document.createElement("ol");
    a1.insertAdjacentElement("afterEnd",oNewOl);
    oNewOl.innerText="中国";
    jnkc = true;
    }
    </script>
    </head>
    <body><ol onclick="addItem()"><span id="a1">检索</span></ol>
    </body></html>
      

  4.   

    <html>
    <head>
    <script>function addItem(){ var obj=document.getElementsByTagName("ol");
    for(i=0;i<obj.length;i++)
    if(obj[i].innerHTML=="中国"){
    return;
    }
    var oNewOl=document.createElement("ol");
    event.srcElement.insertAdjacentElement("afterEnd",oNewOl);
    oNewOl.onclick=addItem
    oNewOl.innerText="中国";
    }
    </script>
    </head>
    <body><ol onclick="addItem()">检索</ol>
    </body></html>var conty=new Array("中国","美国","英国");
    如果加上数组再遍历生成,又该如何做呢?
      

  5.   

    <html>
    <head>
    <script>
    var conty=new Array("中国","美国","英国"),index=0;function addItem(){ var obj=document.getElementsByTagName("ol");
    for(i=0;i<obj.length;i++){
    for(;index<conty.length;index++)if(obj[i].innerHTML!=conty[index])break;
    if(index>=conty.length)return;
    }
    var oNewOl=document.createElement("ol");
    event.srcElement.insertAdjacentElement("afterEnd",oNewOl);
    oNewOl.onclick=addItem
    oNewOl.innerText=conty[index];
    }
    </script>
    </head>
    <body><ol onclick="addItem()">检索</ol>
    </body></html>