如何用javascript获取HTML中的具体元素
我有这个:如何用javascript获取HTML中的具体元素,javascript,html,dom,Javascript,Html,Dom,我有这个: <div class="graph"> <rect y="2%" class="rect"></rect> <text>1</text> <rect y="15%" class="rect"></rect> <text>2</text> <rect y="11%" class="rect"></rect> <text>
<div class="graph">
<rect y="2%" class="rect"></rect>
<text>1</text>
<rect y="15%" class="rect"></rect>
<text>2</text>
<rect y="11%" class="rect"></rect>
<text>3</text>
</div>
我想在第一次迭代中得到第一个“rect”HTML标记和第一个“text”HTML标记;在第二次迭代中是第二次,在第三次迭代中是第三次。您可以通过querySelectorAll获得您的rect,这比getElementsByClassName更受支持
- 标记
或文档。查询选择全部(“rect”)
- class
document.queryselectoral(“.rect”)
var标签=[“一”、“二”、“三”];
window.onload=function(){
var rects=document.querySelectorAll(“rect”);
/*
forEach(函数(rect,index){//失败
appendChild(document.createTextNode(labels[index]);
});
*/
对于(var i=0;i,您可以通过querySelectorAll获取您的rect,这比getElementsByClassName更受支持
- 标记
文档。查询选择全部(“rect”)
或
- class
document.queryselectoral(“.rect”)
并与普通for循环相结合,因为forEach不适用于节点列表-
var标签=[“一”、“二”、“三”];
window.onload=function(){
var rects=document.querySelectorAll(“rect”);
/*
forEach(函数(rect,index){//失败
appendChild(document.createTextNode(labels[index]);
});
*/
对于(var i=0;i我也建议在这里使用jQuery。具体地说。我也建议在这里使用jQuery。具体地说。您可以按类名获取所有rect,然后相对地以文本元素为目标:
var rects = document.getElementsByClassName('rect');
var curRect, curIndex;
for(var i=0; i<rects.length; i++){
curRect = rects[i];
curIndex = curRect.nextSibling.innerHTML;
switch(curIndex){
case "0":
//do something
break;
case "1":
//do something
break;
case "2":
//do something
break;
default:
//default behavior
}
}
var rects=document.getElementsByClassName('rect');
var curRect,curIndex;
对于(var i=0;i,您可以按类名获取所有rect,然后相对地以文本元素为目标:
var rects = document.getElementsByClassName('rect');
var curRect, curIndex;
for(var i=0; i<rects.length; i++){
curRect = rects[i];
curIndex = curRect.nextSibling.innerHTML;
switch(curIndex){
case "0":
//do something
break;
case "1":
//do something
break;
case "2":
//do something
break;
default:
//default behavior
}
}
var rects=document.getElementsByClassName('rect');
var curRect,curIndex;
对于(var i=0;iHi),您可以在html页面中尝试以下代码:
1.
2.
3.
变量标签=[“一”、“二”、“三”];
labels.forEach(函数(标签、索引){
如果(索引==0){
document.getElementById(“一”).innerHTML=“测试写入”;
//获取第一个rect和text标记
}else if(索引==1){
//获取第二个rect和text标记
}否则{
//获取第三个rect和text标记
}
})
将Javascript代码放在HTML之后。您好,您可以在HTML页面中尝试以下代码:
<div class="graph">
</div>
<script>
var string = "";
var labels = ["one", "two", "three"];
labels.forEach(function (label, index) {
if (index == 0) {
// get first rect and text tag
string = string + '<rect y="2%" class="rect"></rect>'+
'<text>1</text>';
} else if (index == 1) {
string = string + '<rect y="15%" class="rect"></rect>'+
'<text>2</text>';
} else {
string = string + '<rect y="11%" class="rect"></rect>'+
'<text>3</text>';
}
});
$(".graph").append(string);
</script>
1.
2.
3.
变量标签=[“一”、“二”、“三”];
labels.forEach(函数(标签、索引){
如果(索引==0){
document.getElementById(“一”).innerHTML=“测试写入”;
//获取第一个rect和text标记
}else if(索引==1){
//获取第二个rect和text标记
}否则{
//获取第三个rect和text标记
}
})
将Javascript代码放在HTML之后。
<div class="graph">
</div>
<script>
var string = "";
var labels = ["one", "two", "three"];
labels.forEach(function (label, index) {
if (index == 0) {
// get first rect and text tag
string = string + '<rect y="2%" class="rect"></rect>'+
'<text>1</text>';
} else if (index == 1) {
string = string + '<rect y="15%" class="rect"></rect>'+
'<text>2</text>';
} else {
string = string + '<rect y="11%" class="rect"></rect>'+
'<text>3</text>';
}
});
$(".graph").append(string);
</script>
var字符串=”;
变量标签=[“一”、“二”、“三”];
labels.forEach(函数(标签、索引){
如果(索引==0){
//获取第一个rect和text标记
字符串=字符串+“”+
'1';
}else if(索引==1){
字符串=字符串+“”+
'2';
}否则{
字符串=字符串+“”+
'3';
}
});
$(“.graph”).append(字符串);
var字符串=”;
变量标签=[“一”、“二”、“三”];
labels.forEach(函数(标签、索引){
如果(索引==0){
//获取第一个rect和text标记
字符串=字符串+“”+
'1';
}else if(索引==1){
字符串=字符串+“”+
'2';
}否则{
字符串=字符串+“”+
'3';
}
});
$(“.graph”).append(字符串);
您可以按类获取所有rect
var elements = document.getElementsByClassName("rect");
您可以像以前一样进行迭代,并使用索引进行匹配
var labels = ["one", "two", "three"];
var elements = document.getElementsByClassName("rect");
labels.forEach(function (label, index) {
alert(label + ": " + elements[index].getAttribute("y"));
});
您可以在以下位置看到它:您可以按类获取所有rect
var elements = document.getElementsByClassName("rect");
您可以像以前一样进行迭代,并使用索引进行匹配
var labels = ["one", "two", "three"];
var elements = document.getElementsByClassName("rect");
labels.forEach(function (label, index) {
alert(label + ": " + elements[index].getAttribute("y"));
});
您可以在以下位置看到它:是否尝试过document.getElementsByTagName(“rect”)[index]?是否尝试过document.getElementsByTagName(“rect”)[index]?谢谢!!我会试试的!谢谢!!我会试试的!在这个上面添加一些文字会很有帮助,所以你可以解释你做了什么。在这个上面添加一些文字会很有帮助,所以你可以解释你做了什么。