Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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 如何使用HTML DOM删除元素?_Javascript_Phantomjs_Casperjs_Simple Html Dom - Fatal编程技术网

Javascript 如何使用HTML DOM删除元素?

Javascript 如何使用HTML DOM删除元素?,javascript,phantomjs,casperjs,simple-html-dom,Javascript,Phantomjs,Casperjs,Simple Html Dom,我从CasperJS网站上获取数据 我想删除没有id的 因此,我尝试选择根并删除它,但它将显示null不是一个对象 如果我不使用jQuery,只使用javascript,我如何修复它 任何帮助都将不胜感激 这是我文件的一部分: 这是我的密码: function getMovieTime() { this.evaluate(function () { var time = document.querySelectorAll('ul.posts p'); t

我从CasperJS网站上获取数据

我想删除没有id的

因此,我尝试选择根并删除它,但它将显示
null不是一个对象

如果我不使用jQuery,只使用javascript,我如何修复它

任何帮助都将不胜感激

这是我文件的一部分:

这是我的密码:

function getMovieTime() {
    this.evaluate(function () {
        var time = document.querySelectorAll('ul.posts p');
        time.parentNode.remove();
        time = document.querySelectorAll('ul.posts');
        return Array.prototype.map.call(time, function (e) {
            return e.innerText;
        });
    });
};
我调用getMovieTime():此代码报告为null

var movieTime = [];  // global variable
casper.then(function () {
    movieTime = this.evaluate(getMovieTime);
});
首先,

方法node.remove()在DOM 4规范中实现。 但由于浏览器支持较差,因此不应使用 它

然后你可以试着替换它

这里


注意-您应该使用
GetElementsByCassName
而不是
getElementById

哪一行的
null不是报告的对象?我更新我的问题,我调用getMovieTime函数cause reported null。报告的是哪一行?对于
this.evaluate(函数(){
?调用
this.evaluate(getMovieTime)
然后在
getMovieTime
内部执行
this.evaluate(函数(){
再次。是的……这是另一点,谢谢提醒。谢谢你的回复,但我无法理解。我的文档中没有id。如何从你的代码中完成它?
getElementById
基于标签和问题中显示的代码
删除
是在phantomjs的上下文中使用的,因此浏览器支持无法实现只要phantomjs的当前版本支持它,它就很重要。OP在哪里使用
GetElementsByCassName
getElementById
。代码只显示
querySelectorAll
.getElementById(“最新发布”)
可能是错误的,因为元素有类
最新发布的帖子
@t.niese。我提到他最好在note下使用getElementsByClassName。这只是一个替换的例子。另外,不知道casper或phantom。因此没有更正原始代码。我的想法是让你使用'replace',而不是
remove
。您可以继续使用querySelectorAll
var parent = document.getElementById("latest_posts");
var child = document.getElementById("posts");
var para = document.createElement("p");
var node = document.createTextNode(" ");
para.appendChild(node);
parent.replaceChild(para,child);