Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 找不到元素_Javascript_Html - Fatal编程技术网

Javascript 找不到元素

Javascript 找不到元素,javascript,html,Javascript,Html,所以我想写出输入值项中的文本,并在文本右侧创建另一个节点。但是这个文本只是在输入文本旁边显示[object HTMLParagraphElement],为什么不显示文本呢 我不知道我做错了什么,请帮帮我 所以输入的文本被显示出来了,而不是我制作的另一个p元素 代码如下: var lista = document.getElementById("lista"); var li = document.createElement("li"); var del = document.creat

所以我想写出输入值项中的文本,并在文本右侧创建另一个节点。但是这个文本只是在输入文本旁边显示[object HTMLParagraphElement],为什么不显示文本呢

我不知道我做错了什么,请帮帮我

所以输入的文本被显示出来了,而不是我制作的另一个p元素

代码如下:

   var lista = document.getElementById("lista");

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

var del = document.createElement("p");
var delt = document.createTextNode("remove this");
del.appendChild(delt);


var item = document.getElementById("item");

var text = document.createTextNode(item.value + " | " + del);


li.appendChild(text);
lista.appendChild(li);

您不需要创建文本节点来追加文本。只需在正在创建的元素上设置innerHTML:

var myPar = document.createElement('p');
myPar.innerHTML = "remove this";

li.innerHTML = myPar.outerHTML; //this would be the tag and its text <p>remove this</p>

// other code here.
var myPar=document.createElement('p');
myPar.innerHTML=“删除此项”;
li.innerHTML=myPar.outerHTML//这将是标记及其文本删除此

//这里还有其他代码。

演示

问题出在线路上

var text = document.createTextNode(item.value + " | " + del);
此时,“del”引用了段落元素,
您可以使用“del.innerHtml”而不是“del”

将代码更改为使用del.innerHtml

var text = document.createTextNode(item.value + " | " + del.innerHTML);
document.createTextNode的参数必须是字符串。innerHTML是元素对象的html代码。

HTML:

Js:

//示例!
var lista=document.getElementById(“lista”);
var item=document.getElementById(“item”);

for(var i=0;i请同时显示html代码。
<ul id="lista"></ul>
// EXAMPLE!
var lista = document.getElementById("lista");
var item = document.getElementById("item");

for(var i=0;i<100;i++){
    var li = document.createElement("li");
    var del = document.createElement("p");
    del.innerHTML = 'Remove this';
    li.appendChild( del );
    lista.appendChild(li);
}