我正在尝试编写一个脚本来帮助我的一个色情朋友。
他在这样的页面上写着:
<div class="message-pane-wrapper candy-has-subject">
<ul class="message-pane">
<li><div style="color:#700400"></div></li>
<!-- many more li items -->
</ul>
</div>
我要做的是使用JavaScript来更改所有样式标记,以便颜色相同。
我试过像这样循环:
var div = document.getElementById('message-pane-wrapper candy-has-subject');
var divs = div.getElementsByTagName('div');
for (var i = 0; i < divs.length; i += 1) {
divs[i].style = 'color:#00000';
}
但我不认为这是对的......
答案 0 :(得分:1)
[]。forEach.call(NodeList)hack
您不应该使用空白数组来迭代节点列表,因为某种原因,节点列表不是数组。有一些excellent information about why not to use this hack。
正确的方法
此脚本选择文档中的每个元素,然后使用for循环遍历节点列表并将每个节点的文本颜色设置为#000
(function () {
"use strict";
var elements = document.querySelectorAll('*'), element;
for (var i = 0; element = elements[i]; i++) element.style.color = '#000000';
})();
<div class="message-pane-wrapper candy-has-subject">
<ul class="message-pane">
<li><div style="color:#700400">Hello World</div></li>
</ul>
</div>
如果您特别想要问题中提到的部分中的div元素,则可以使用更具体的选择器。请注意,使用*
选择器会在具有大量元素的网站上产生相当大的开销,但由于它只需在页面加载时运行一次,因此不应存在问题
(function(){
"use strict";
var elements = document.querySelectorAll('.message-pane-wrapper.candy-has-subject div'), element;
for (var i = 0; element = elements[i]; i++) element.style.color = '#000000';
})();
<div class="message-pane-wrapper candy-has-subject">
<ul class="message-pane">
<li><div style="color:#700400">Hello World</div></li>
</ul>
</div>
答案 1 :(得分:1)
如果您想更具体地选择您的选择:DEMO
var targetApplication = Process.GetCurrentProcess().ProcessName + ".exe";
int ie_emulation = 9000;
答案 2 :(得分:1)
'message-pane-wrapper candy-has-subject'
不是ID,而是两个类。像这样使用getElementsByClassName
:
无论
var div = document.getElementsClassName('message-pane-wrapper')[0];
......或
var div = document.getElementsClassName('candy-has-subject')[0];
如果有多个div
具有相同的类,则您还必须循环遍历这些类。另一种方法是使用querySelectorAll
选择元素,然后循环使用。
您无法像这样设置style
属性。使用
divs[i].style.color = '#000000';
......或
divs[i].setAttribute('style','color:#000000;');
答案 3 :(得分:0)
minsmaller <- function(x,value) which.min(abs(value - replace(x, x>value, Inf)))
minsmaller(f, 18)
#[1] 6
minsmaller(f, 19)
#[1] 7
是一个对象,这意味着它具有您使用的不同属性:
.style
您也可以使用element.style.color = '#000';
来降低代码复杂性:
.forEach