簡體   English   中英

動態創建元素,但使用<a href>onClick代替按鈕</a>

[英]Dynamically create element but use <a href> instead of a button onClick

我打算為我的表單重復使用W3Schools中描述的HTML DOM的create元素方法。

 function myFunction() { var btn = document.createElement("BUTTON"); var t = document.createTextNode("CLICK ME"); btn.appendChild(t); document.body.appendChild(btn); } 
 <p>Click the button to make a BUTTON element with text.</p> <button onclick="myFunction()">Try it</button> 

在上面的示例中, button用於創建HTML元素。 如何更改它以使用href鏈接( <a>標簽)代替按鈕的click事件?

您可以在引用W3Schools HTML DOM的同一示例中這樣編寫:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to make a BUTTON element with text.</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
    var btn = document.createElement("a");
btn.innerHTML="click";
    var t = btn.setAttribute("href","https://www.google.com");
btn.setAttribute("target","_blank");
    document.body.appendChild(btn);
}
</script>

</body>
</html>

將標記更改為錨,將href設置為“ javascript:void(0)” ,以防止瀏覽器執行導航。

<!DOCTYPE html>
<html>
<body>

<p>Click the link to make a BUTTON element with text.</p>

<a href="javascript:void(0)" onclick= "myFunction()" > Try it</a>

<script>
function myFunction() {
            var btn = document.createElement("BUTTON");
            var t = document.createTextNode("CLICK ME");
            btn.appendChild(t);
            document.body.appendChild(btn);
        }
</script>

</body>
</html>

我是否正確理解您要使用標記代替引發事件的元素的元素?

基本上,您可以像示例中那樣進行操作:

<a onclick="myFunction()">Try it</a>

您還可以給-tag一個href屬性。 但是在這里您已經看到了此“解決方案”的問題。 onclick函數和href鏈接都將被觸發,並且您肯定會有不想要的行為。

我還假設您只是希望將其設置為頁面上任何鏈接的樣式,甚至不使用href屬性。 然后使用上面的示例將起作用。 就個人而言,我仍然更喜歡使用-tag並自己設置樣式,因為該標簽僅用於鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM