2014-01-29 46 views
0

在我的JavaScript代碼,我動態創建一個文本節點是這樣的:DOM修改textnode的一部分的風格直接在JavaScript

tpu14 = document.createTextNode(numerr+" enhancements that could improve your experience"); 

我已經把這個文本節點到其格式。 現在我的問題是:我如何直接添加一個樣式只在「數字」部分不使用2個不同的div?

現在的結果是:

14增強功能,可以改善您的體驗

我想

增強功能,可以改善您的體驗提前

謝謝

+0

http://www.w3schools.com/jsref/met_document_createtextnode.asp – loveNoHate

+0

這也許是不可能使用一個createTextNode 你將不得不使用innerHTML屬性 即 變種K =使用document.createElement( 「跨度」); k.innerHTML =「」+ numerr +「增強功能可以改善您的體驗」; – kcak11

回答

3

而不是使用createTextNode你可以使用innerHTML併爲此

element.innerHTML="<b>"+numerr+"</b> enhancements that could improve your experience";

正如下面你的意見建議也可以使用Element.insertAdjacentHTML

//Usage 
// <div id="one">one</div> 
var d1 = document.getElementById('one'); 
d1.insertAdjacentHTML('afterbegin', '<b>'+numerr+'</b>'); 

// At this point, the new structure is: 
// <div id="one"><b>value</b>one</div> 
+1

[element.insertAdjacentHTML](https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML)會好很多。 – Givi

1

你可以嘗試這樣的事情。

var element = document.createElement("div"); 
element.innerHTML="<b>"+numErr+"</b> enhancements that could improve your experience"; 

這應該有效。希望這是你需要的。

1

使用innerHTML屬性

var k=document.createElement("span"); 
k.innerHTML="<b>"+numerr+"</b> enhancements that could improve your experience";