亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

在script 標簽內補充代碼,實現創建一個新li標簽,內容為"php",并將新創建的li插入到內容為HTML的標簽前。

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>無標題文檔</title>

</head>

<body>


<ul id="test"><li>JavaScript</li><li>HTML</li></ul>?

?

<script type="text/javascript">


? var otest = document.getElementById("test");?

? for(var i=0;i<otest.length;i++){

? ? if(otest[i].innerHTML=="HTML"){

? ? ? ?var node=otest[i].childNodes;

? ? } ??

? }

? var newnode=document.createElement("li");

? ? newnode.innerHTML="php";

? ? otest.insertBefore(newnode,node);

</script>?

為什么卻插到后面了?不知道哪錯了!求大神幫忙!拜謝了!

正在回答

2 回答

<ul id="test"><li>JavaScript</li><li>HTML</li></ul>?

?

<script type="text/javascript">


? var otest = document.getElementById("test"); //獲得的是ul標簽對象,不是數組,可以添加下面一行代碼

? var otestArr = document.getElementById("test").childNodes;//獲得存儲<li>JavaScript</li>與<li>HTML</li>兩個標簽對象的數組,然后遍歷數組,做下面修改

?var node;

? for(var i=0;i<otestArr.length;i++){

? ? if(otestArr[i].innerHTML=="HTML"){

? ? node =otestArr[i];

? ? } ??

? }

? var newnode=document.createElement("li");

? ? newnode.innerHTML="php";

? ? otest.insertBefore(newnode,node);

這樣結果就對了

JavaScript

php

HTML


另外如果<ul id="test"><li>JavaScript</li><li>HTML</li></ul> 不再寫在一起,而是有空格,如下:

<ul id="test">

<li>JavaScript</li>

<li>HTML</li>

</ul>

var otestArr = document.getElementById("test").childNodes;此時獲得標簽對象元素個數就會變為5個,其中有文本對象(空格)


1 回復 有任何疑惑可以回復我~
#1

慕數據5775487 提問者

非常感謝!
2016-09-15 回復 有任何疑惑可以回復我~

<body>
<ul id="test"><li>JavaScript</li><li>hhh</li></ul>

<script type="text/javascript">
? var otest = document.getElementById("test"); //這個獲得的是ul這個對象,它不是一個數組,所以下面出現otest[i],我覺得這是不對的。

?for(var i=1;i<otest.length;i++){//個for似乎是沒有意義的,你可以把試著改動<li>HTML</li>,它仍然會出現php在最底部。我也沒弄明白

??? if(otest[i].innerHTML=="HTML"){

?????? var node=otest[i].childNodes;

??? }??

? }

?var node=otest.childNodes[0];//把下劃線部分換成這句就沒問題了

? var newnode=document.createElement("li");

??? newnode.innerHTML="php";

??? otest.insertBefore(newnode,node);

</script>

個人見解,不知道對不對,哈哈

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

在script 標簽內補充代碼,實現創建一個新li標簽,內容為"php",并將新創建的li插入到內容為HTML的標簽前。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號