2012-05-11 141 views
2

您好我想添加元素,以李的鏈接
上按我喜歡這個JavaScript的元素添加到L1標籤

我已經看到了這個問題太Which "href" value should I use for JavaScript links, "#" or "javascript:void(0)"?

HTML代碼元素添加到一個DIV時

<div id="div"> 
<a href="" onclick="add()">add</a> 
</div> 

JavaScript代碼

function add(){ 

    var bigDiv = document.getElementById('div'); 
    var input = document.createElement('input'); 
    input.setAttribute('type', 'text'); 
    bigDiv.appendChild(input); 
    } 

和它的作品好
但如果我從DIV更改HTML代碼,以利這樣

HTML代碼

<ul> 
<li id="li"> 
<a href="" onclick="add()">add</a> 
</li> 
</ul> 

的JavaScript

function add(){ 
var bigLi = document.getElementById('li'); 
var input = document.createElement('input'); 
input.setAttribute('type', 'text'); 
bigLi.appendChild(input); 
} 

它不工作
我確保沒有語法錯誤

+0

你說得對,對不起,我關閉它在我的代碼了,我的意思是我犯了一個錯誤只是在寫這個問題,但在我的代碼,我做到了我要求 –

+0

之前,當我使用利我按下該鏈接,我可以看到一個輸入,但快速刪除,我的意思是它添加輸入一秒,然後輸入消失 –

回答

2

檢查您的HTML:

  • 你沒有關閉</a>
  • 您的onclick代碼不裹""onclick="add()"
  • 你沒有抑制鏈接的默認操作(這是重定向)。嘗試adding href="#"以防止它移開並且add return false到該函數的結尾。

    <a href="#" onclick="add()">a</a> 
    
    //AND 
    
    function add(){ 
        ... 
        return false; 
    } 
    
+2

或者,您可以通過返回false來阻止鏈接上的默認事件。 – kapa

+0

是的人是錯誤的,因爲我沒有添加#到我的HREF,謝謝你 –

+0

我會在3分鐘後接受答案,但我想知道,它如何與div工作,而不是與李工作:) –