2016-11-17 82 views
0

我想擁有一個包含鏈接的div。點擊時,鏈接應該被替換爲<input type="text">,但它不起作用。如何在使用javascript單擊HTML鏈接時添加輸入表單?

其他HTML代碼的工作,但由於某種原因,我不能沒有與輸入鏈接:

function working() { 
 
    document.getElementById("working").innerHTML = "<h1>Test</h1>"; 
 
}; 
 
function notworking() { 
 
    document.getElementById("notworking").innerHTML = "<input type="text">"; 
 
};
<div id="working"> 
 
    <a onclick="working();" href="#">This works!</a> 
 
</div> 
 
<div id="notworking"> 
 
    <a onclick="notworking();" href="#">This doesn't!</a> 
 
</div> 
 
<p> 
 
Notice that the entire code doesn't work unless you comment out the "notworking()" function! 
 
</p>

+0

報價請在問題的所有代碼 – Liam

+0

你有導致語法錯誤錯字。當某些「不工作」時,您至少應*查看調試控制檯是否有任何錯誤。 – David

回答

2

您需要爲您的嵌套的報價單引號;

function notworking() { 
document.getElementById("notworking").innerHTML = "<input type='text'>"; 
} 

我已經做了這麼多次哈哈,當在雙引號內使用引號時總是使用單引號。

希望它有幫助!

+0

哦,人哈哈謝謝,這是有道理的! –

1

正是因爲這行:

document.getElementById("notworking").innerHTML = "<input type="text">"; 

你開始用雙引號括起來的,但使用的字符串中的雙引號。這會導致JavaScript中的語法錯誤。如果在字符串內部需要雙引號,則在整個字符串周圍使用單引號,反之亦然。

變化

document.getElementById("notworking").innerHTML = "<input type="text">";

document.getElementById("notworking").innerHTML = '<input type="text">';

0

做這樣的。注意周圍text

document.getElementById("notworking").innerHTML = "<input type='text'>"; 
相關問題