看起來有很多方法可以做到這一點,但是,它們都不適合我。如果任何人都可以給我一個如何添加標籤並編輯它的屬性(無document.write亂七八糟)的例子,它適用於所有常見瀏覽器但是 IE,那就太棒了。
編輯
我根本不在乎它是否在IE中工作。如果確實如此,那很好,但我不喜歡IE,無論如何,我只會要求人們改變瀏覽器,因爲我創建的頁面上的其他內容在IE中不起作用。什麼是通過javascript向html添加元素的最簡單方法
1
A
回答
3
以下是如何創建<div>
元素並將其添加到佈局的最簡單示例。
var el = document.createElement("div"); // creating element
el.setAttribute("class", "myClass"); // setting attribute "class"
el.innerHTML = "Text"; // adding text inside the element
document.body.appendChild(el); // appending new element to page body
DEMO:http://jsfiddle.net/XVaqY/
爲了使它不工作在IE中添加任何瀏覽器檢查。東西like that:
function isIE() {
return (navigator.appName == "Microsoft Internet Explorer");
}
0
這裏是添加一個DIV使用JavaScript
<html>
<head>
<title>Javascript Create Div Element Dynamically</title>
<style type="text/css">
.dynamicDiv {
width: 200px;
height: 100px;
border: solid 1px #c0c0c0;
background-color: #e1e1e1;
font-size: 11px;
font-family: verdana;
color: #000;
padding: 5px;
}
</style>
<script type="text/javascript" language="javascript">
function createDiv() {
var divTag = document.createElement("div");
divTag.id = "div1";
divTag.setAttribute("align", "center");
divTag.style.margin = "0px auto";
divTag.className = "dynamicDiv";
divTag.innerHTML = "This HTML Div tag created "
+ "using Javascript DOM dynamically.";
document.body.appendChild(divTag);
}
</script>
</head>
<body>
<p align="center">
<b>Click this button to create div element dynamically:</b>
<input id="btn1"
type="button"
value="create div"
onclick="createDiv();" />
</p>
</body>
</html>
0
首先的工作示例,您創建document.createElement()
的元素,並將其保存到一個變量。此時它不在DOM中。 然後,儘可能多地改變它的屬性,然後在你喜歡的任何點插入到DOM中。在我的示例中,它將在body
標記的末尾插入一個DIV
元素和id
的elementid
。
var newDiv = document.createElement("div");
newDiv.id = "elementid";
document.body.appendChild(newDiv);
0
這裏有一些方法來添加內容到DOM:
使用W3C推薦的方法:
var heading = document.createElement("h1");
heading.createTextNode("Foobar");
heading.className = "semantic-class-name-goes-here";
heading.setAttribute("aria-something-here", "bar");
使用的innerHTML:
document
.innerHTML("<h1 class='semantic-class-name-goes-here' aria-something-here='bar'>Foobar</h1>");
使用jQuery:
var heading = $("h1")
.addClass("semantic-class-name-goes-here")
.attr("aria-something-here", "bar");
$(document).append(heading);
0
假設你要排除所有IE版本,利用webreflection blog這一招,你可以做
if (!(!+"\v1")) {
var el = document.createElement("div");
...
document.body.appendChild(el);
}
另外,檢測IE另一個條件也可能是
if (!top.execScript) { ... }
甚至
var isIE = /*@[email protected]*/!1;
if (isIE) { ... }
但說實話,他們對我來說是如此hacky。
無論如何,如果你指定了排除IE的技術原因,並告訴我們你想要完成什麼樣的功能,可能會給你一個更安全的方式來完成這項任務,基於特定的IE限制(功能檢測是比瀏覽器嗅探更好)。
相關問題
- 1. 通過JavaScript提交數據的最簡單方法是什麼?
- 2. 什麼是通過JavaScript引用HTML元素的正確方法?
- 3. 通過JSON向PHP發送Javascript數組最簡單的方法是什麼?
- 4. 將元素添加到列表末尾的最簡單方法是什麼?
- 5. 獲取子元素ID最簡單的方法是什麼?
- 6. 旋轉滾動元素,最簡單的方法是什麼?
- 7. 以編程方式向JSON添加數據的最簡單方法是什麼?
- 8. 通過ActiveResource使用OAuth最簡單的方法是什麼?
- 9. 通過PayPal確認付款的最簡單方法是什麼?
- 10. 將DOCTYPE添加到Scala XML的最簡單方法是什麼?
- 11. 使用Sax Parser在xml中跳過元素的最簡單方法是什麼?
- 12. 什麼是從Javascript調用C#方法的最簡單方法
- 13. 將數據庫添加到html文件最簡單的方法是什麼?
- 14. 向下一個元素添加/刪除類的最佳方法是什麼?
- 15. 什麼是自定義NSTableView單元最簡單的方法?
- 16. 什麼是在軌道中的視圖中的html元素添加類屬性的最簡潔的方法
- 17. 從html表單添加和刪除元素的最佳方法
- 18. 通過VB添加SQL列的最簡單方法
- 19. 什麼是最簡單/最好的方式來表明一個HTML元素是AJAX加載?
- 20. 將xml轉換爲html最簡單的方法是什麼?
- 21. 實現動態HTML表單的最簡潔方法是什麼?
- 22. 反向ArrayList的最簡單方法是什麼?
- 23. 什麼是識別HTML元素的最佳方法
- 24. Python - 什麼是更新列表中元素的簡單方法?
- 25. 將元素推到數組的開頭的最簡單方法是什麼?
- 26. 用Javascript或jQuery添加HTML塊的最佳方式是什麼?
- 27. 將表單數據添加到URL最簡單的方法是什麼?
- 28. 以HTML/CSS/Javascript格式化貨幣的最簡單方法是什麼?
- 29. 在IE8 +中添加元素的最有效方式是什麼?
- 30. 電子郵件通知最簡單的方法是什麼3
一個要求是它必須在IE中失敗? – sachleen
那麼如果你願意嘗試jQuery,它有一個附加的方法,將這樣做 – theBigChalk
所有IE版本或特定版本? – fcalderan