不壹樣。常見的節點分五種:
1:元素,Element;
2:屬性,Attribute;
3:文本,Text;
8:註釋,Comment;
9:文檔,Document。
更多的參見::w3school../jsref/prop_node_nodetype.asp
文檔就是?DOM 樹的根節點(其實就是 <></>),剩下所有節點都包含在文檔裏。
元素就是壹個個標簽了,<p><div> 什麽的。
屬性是元素裏的,<p id="id" name=name> 這種的。
文本是元素或屬性中的文本內容,<p id="我是文本">我也是文本</p> 這種。
javascript 怎麽修改壹個文本節點?document.getElementById("mi").innerText = “”;
document.all.mi.innerText = “”;
這兩個都可以,或者用innerHTML
JavaScript中如何添加文本節點?最簡單的方法就是用元素的innerHTML屬性賦值,如:myNewElement.innerHTML = “我是文本”;但這樣不能清晰的體現DOM中新增加了壹個文本節點。
然後另壹種添加文本節點的方式,可分為兩步:
1、創建節點:文本節點的創建使用createTextNode方法,如:var myText = document.createTextNode(“我是文本”);
2、將創建的節點用appendChild方法添加某個元素下。如:myNewElement.appendChild(myText);這樣myNewElement就有myText的文本節點,文本節點的內容是“我是文本”即可。
獲取屬性節點
第壹種方法:獲取官方定義的屬性節點(獲取元素的對應屬性值)。
格式:元素節點,屬性名。
註意:不能獲取自定義屬性的值。
代碼如下:
console.log(jsInput.placeholder);
alert("是時候展現真正的技術");
設置屬性節點的值
公式:元素節點 . 屬性名 = 新的屬性值
代碼如下:
設置元素對應屬性的值
元素節點.屬性名 = 新的屬性值
jsInput.placeholder = "sunck good";
第二種方法
公式:元素節點 . getAttribute(屬性名);
註意:還可以獲取自定義屬性的值。
代碼:
console.log(jsInput.getAttribute("my"));
設置自定屬性的值
公式:元素節點 . setAttribute(屬性名, 新屬性值);
註意:當屬性不存在時,變為添加屬性
代碼:
設置
元素節點.setAttribute(屬性名, 新屬性值);
jsInput.setAttribute("my", "sunck");
註意:當屬性不存在時,變為添加屬性
jsInput.setAttribute("other", "sunck");
刪除屬性節點
公式:元素節點.removeAttribute(屬性名);
註意:某些低版本瀏覽器不支持
代碼:
jsInput.removeAttribute("other");
console.log(jsInput);
jsDOM怎樣過去文本節點DOM中有三大節點,分別是元素節點,文本節點,屬性節點,他們所對應的nodeType不相同。
其中:
對於元素節點,nodeType=1;
對於屬性節點,nodeType=2;
對於文本節點,nodeType=3;
可以通過判斷nodeType進行過濾文本節點。
tinyxml怎樣獲得文本節點的文本tinyxml是基於DOM模型的
妳應該把整個要解析的XML串傳給TiDocument
然後取First_child
然後ToElement
然後GetValue
空文本節點問題,急求幫助超文本標記語言或超文本鏈接標示語言(標準通用標記語言下的壹個應用)HTML(HyperText Mark-up Language)是壹種制作萬維網頁面的標準語言,是萬維網瀏覽器使用的壹種語言,
它消除了不同計算機之間信息交流的障礙。
它是目前網絡上應用最為廣泛的語言,也是構成網頁文檔的主要語言。
HTML文件是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML文件的結構包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內容。
有什麽js函數可以獲取和操作文本節點,註釋節點有什麽js函數可以獲取和操作文本節點,註釋節點
因為妳註釋前面有空白區域,dom解析時也會把他當成壹個dom節點,所以是文本類型,下壹個就是註釋了
在javascript中 使用變量來創建文本節點是咋回事的<ul>
<li id="li1"><li>
</ul>
var lix = document.createElement("li");
var targetElement = document.getElementById("li1");
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement)
{
parent.appendChild(lix);
}
else
{
parent.insertBefore(lix, targetElement.nextSibling);
}
“創建壹個文本節點”是要做什麽?1、DOM結構——兩個節點之間可能存在哪些關系以及如何在節點之間任意移動。
document.documentElement 返回文檔的根節點<>
document.body <body>
document.activeElement 返回當前文檔中被擊活的標簽節點(ie)
event.fromElement 返回鼠標移出的源節點(ie)
event.toElement 返回鼠標移入的源節點(ie)
event.srcElement 返回激活事件的源節點(ie)
event.target 返回激活事件的源節點(firefox)
當前對象為node
返回父節點:node.parentNode, node.parendElement,
返回所有子節點:node.childNodes(包含文本節點及標簽節點),node.children
返回第壹個子節點:node.firstChild
返回最後壹個子節點: node.lastChild
返回同屬上壹個子節點:node.nextSibling
返回同屬下壹個子節點:node.previousSibling
parentNode和parentElement功能壹樣,childNodes和children功能壹樣。但是parentNode和
childNodes是符合W3C標準的,可以說比較通用。而另外兩個只是IE支持,不是標準,Firefox就不支持
,所以大家只要記得有parentElement和children就行了
2、DOM操作——怎樣添加、移除、移動、復制、創建和查找節點。
(1)創建新節點
createDocumentFragment() 創建壹個DOM片段
createElement() 創建壹個具體的元素
createTextNode() 創建壹個文本節點
(2)添加、移除、替換、插入
appendChild()
removeChild()
replaceChild()
insertBefore()
(3)查找
getElementsByTagName() 通過標簽名稱
getElementsByName() 通過元素的Name屬性的值
getElementById() 通過元素Id,唯壹性
3、事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。
(1)冒泡型事件:事件按照從最特定的事件目標到最不特定的事件目標(document對象)的順序觸發。
IE 5.5: div -> body -> document
IE 6.0: div -> body -> -> document
Mozilla 1.0: div -> body -> -> document -> window
(2)捕獲型事件(event capturing):事件從最不精確的對象(document 對象)開始觸發,然後到最精確(也可以在窗口級別捕獲事件,不過必須由開發人員特別指定)。
(3)DOM事件流:同時支持兩種事件模型:捕獲型事件和冒泡型事件,但是,捕獲型事件先發生。兩種事件流會觸及DOM中的所有對象,從document對象開始,也在document對象結束。
DOM事件模型最獨特的性質是,文本節點也觸發事件(在IE中不會)。
4、XMLHttpRequest——這是什麽、怎樣完整地執行壹次GET請求、怎樣檢測錯誤。
XMLHttpRequest 對象提供了在網頁加載後與服務器進行通信的方法。
<script type=text/javascript>
varxml;
functionloadXMLDoc(url){
xml=null;
if(window.XMLHttpRequest){ code for all new browsers
xml=newXMLHttpRequest();
}elseif(window.ActiveXObject){ code for IE5 and IE6
xml=newActiveXObject("Microsoft.XMLHTTP");
}
if(xml!=null){
xml.onreadystatechange=state_Change;
xml.open("GET",url,true);
xml.send(null);
}else{
alert("Your browser does not support XMLHTTP.");
}
}
functionstate_Change(){
if(xml.readyState==4){ 4 = "loaded"
if(xml.status==200){ 200 = OK
...our code here...
}else{
alert("Problem retrieving XML data");
}
}
}
</script>
5、嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。
在標準模式中,瀏覽器根據規範呈現頁面;
在混雜模式中,頁面以壹種比較寬松的向後兼容的方式顯示。
瀏覽器根據DOCTYPE是否存在以及使用的哪種DTD來選擇要使用的呈現方法。如果XHTML文檔包含形式完整的DOCTYPE,那麽它壹般以標準模式
呈現。對於HTML
4.01文檔,包含嚴格DTD的DOCTYPE常常導致頁面以標準模式呈現。包含過渡DTD和URI的DOCTYPE也導致頁面以標準模式呈現,但是有過
渡DTD而沒有URI會導致頁面以混雜模式呈現。DOCTYPE不存在或形式不正確會導致HTML和XHTML文檔以混雜模式呈現。
6、盒模型——外邊距、內邊距和邊框之間的關系,IE 8以下版本的瀏覽器中的盒模型有什麽不同。
壹個元素盒模型的層次從內到外分別為:內邊距、邊框和外邊距
IE8以下瀏覽器的盒模型中定義的元素的寬高不包括內邊距和邊框
7、塊級元素與行內元素——怎麽用CSS控制它們、它們怎樣影響周圍的元素以及妳覺得應該如何定義它們的樣式。
塊級元素,用CSS中的display:inline;屬性則變為行內元素
行內元素,用CSS中的display:block;屬性則變為塊級元素
影響:周圍元素顯示在同壹行或換行顯示,根據具體情況調整樣式
8、浮動元素——怎麽使用它們、它們有什麽問題以及怎麽解決這些問題。
需要浮動的元素可使用CSS中float屬性來定義元素的浮動位置,left:往左浮動,right:往右浮動
浮動元素引起的問題:
(1)父元素的高度無法被撐開,影響與父元素同級的元素
(2)與浮動元素同級的非浮動元素會跟隨其後
(3)若非第壹個元素浮動,則該元素之前的元素也需要浮動,否則會影響頁面顯示的結構
解決方法:
使用CSS中的clear:both;屬性來清除元素的浮動可解決2、3問題,對於問題1,添加如下樣式,給父元素添加clearfix樣式:
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;} /* for IE/Mac */
9、HTML與XHTML——二者有什麽區別,妳覺得應該使用哪壹個並說出理由。
主要區別:
XHTML 元素必須被正確地嵌套
XHTML 元素必須被關閉,空標簽也必須被關閉,如 <br> 必須寫成 <br />
XHTML 標簽名必須用小寫字母
XHTML 文檔必須擁有根元素
XHTML 文檔要求給所有屬性賦壹個值
XHTML 要求所有的屬性必須用引號""括起來
XHTML 文檔需要把所有 < 、>、& 等特殊符號用編碼表示
XHTML 文檔不要在註釋內容中使“--”
XHTML 圖片必須有說明文字
XHTML 文檔中用id屬性代替name屬性
10、JSON——它是什麽、為什麽應該使用它、到底該怎麽使用它,說出實現細節來。
JSON(JavaScript Object Notation) 是壹種輕量級的數據交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。
JSON建構於兩種結構:
“名稱/值”對的 *** (A collection of name/value
pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表
(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。
值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。