有没有办法转换,调整,处理包含相同类的元素?
<div class="f">fgfgh</div>
<div class="f">dfg</div>
<div class="f">qzer</div>
<script>
function _(c){
var x = document.getElementsByClassName(c);
return x;
};
_("f")[all_of_them_not_0_1].innerHTML = "changed";
</script>
我绝对可以循环使用它们,但这不是我想要的。
答案 0 :(得分:5)
这不是关于JavaScript,而是关于DOM API。
不,在DOM API中没有基于集合的变异操作(例如,设置innerHTML
)。你必须循环遍历元素(或者在幕后使用为你做的事情,比如jQuery)。
答案 1 :(得分:0)
你能否为他们添加一个类,如class =&#34; f更改&#34;然后用css:
.f.changed:after {
content:'changed';
display:block;
/* any other stylings you need for this */
}
然后,当您想要切换文本时,您需要做的就是添加或删除该类?不知道你有什么反对循环,但这是一种方式。
答案 2 :(得分:0)
一个想法是将var gd = document.getElementById('tester');
var layout = {
xaxis: {
showgrid: true,
tickformat: "%H:%M:%S",
},
margin: {
l: 40,
b: 40,
r: 30,
t: 20
},
hovermode: 'x',
};
var draw = function(data, layout) {
Plotly.newPlot(gd, data, layout, {
showLink: false,
displaylogo: false
});
};
var dataurl = 'https://gist.githubusercontent.com/fhurta/6c53839fbc91a363d62966a972a5e4a2/raw/2cd735f0b024e496164dacec92fa4a7abcd5da2e/series.csv';
Plotly.d3.csv(dataurl, function(rows) {
var data = [{
type: 'scatter',
x: rows.map(function(row) {
return new Date(row['Time']);
}),
y: rows.map(function(row) {
return row['Value1'];
}),
line: {
width: 1
}
}];
draw(data, layout);
});
方法添加到<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="tester" style="width:600px;height:300px;"></div>
。但是,请注意!!
Element.prototype
然后:
HTMLCollection.prototype