我对JavaScript不太熟悉,所以我被困住了。 我需要从页面中删除第一类元素。
我发现这个脚本删除了所有的类元素,但我只需删除第一个。
var collection = window.content.document.getElementsByClassName("Links");
Array.prototype.forEach.call(collection, function(node) {
node.parentNode.removeChild(node);
});
所以尝试了这个没有做到魔法的技巧
var collection = window.content.document.getElementsByClassName("Links")[0];
也尝试了但没有结果
var collection = window.content.document.getElementsByClassName("Links");
var requiredElement = collection[0];
Array.prototype.forEach.call(requiredElement, function(node) {
node.parentNode.removeChild(node);
});
所以可能应该有这条线。
node.parentNode.removeChild(node);
答案 0 :(得分:1)
在forEach
回调函数中,node
只是集合中的每个元素。但是,由于您现在只有一个元素而不是元素集合,因此您只需对该元素执行该操作:
var collection = window.content.document.getElementsByClassName("Links");
var requiredElement = collection[0];
requiredElement.parentNode.removeChild(requiredElement);
答案 1 :(得分:1)
services
document.querySelector(".Links").remove();
并且<div class="Links">1</div>
<div class="Links">2</div>
返回第一个匹配(如果存在),而querySelector
只会删除第一个元素。
答案 2 :(得分:1)
它不起作用,因为每个工作在数组/数组结构上。单个元素不是数组结构。 你可以这样做:
var collection = window.content.document.getElementsByClassName("Links");
var node = collection[0];
node.parentNode.removeChild(node);
答案 3 :(得分:0)
@Service
public class Stack<E> {
int MAX_SIZE = 15;
E[] elements;
@SuppressWarnings("unchecked")
Stack(Class<E> clazz) {
elements = (E[]) Array.newInstance(clazz, MAX_SIZE);
}
volatile int i;
public void push(E e) throws InterruptedException {
while (i > MAX_SIZE) {
Thread.currentThread().wait();
}
elements[i++] = e;
Thread.currentThread().notifyAll();
}
public E pop() throws InterruptedException {
while (i < 0) {
Thread.currentThread().wait();
}
Thread.currentThread().notifyAll();
return elements[i--];
}
}
var elems = document.getElementsByClassName('box'), //catch all desired elements
parent = document.getElementById('parent'); //catch the parent element
parent.removeChild(elems[0]); //remove the first element from the parent
.box {
height: 100px;
width: 100px;
background: blue;
margin: 5px;
}
答案 4 :(得分:0)
如果需要删除第一个链接&#39;整页中的class元素
if (document.getElementsByClassName('links').length > 0) {
document.getElementsByClassName('links')[0].remove();
}
答案 5 :(得分:-1)
$(document).ready(function(){
remove_first_element("hello");
});
function remove_first_element(class_name)
{
var i=0;
$("."+class_name).each(function(){
if(i==0)
{
$(this).remove();
i++;
}
});
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="hello">hello 1</div>
<div class="hello">hello 2</div>
&#13;