Javascript 如何使用HTML DOM删除元素?
我从CasperJS网站上获取数据 我想删除没有id的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
因此,我尝试选择根并删除它,但它将显示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);