如何使用javascript获取表中的所有Div

时间:2010-03-31 10:55:28

标签: javascript asp.net html-table

请告诉我如何使用LANG =“1”的特定表的所有DIV数组 的Javascript

表结构如下:

  < table >
 < tr > < td > < div id=1 lang="1" > some metter < /div > < /td >< /tr >
 < tr > < td > < div id=2 lang="2" > some metter < /div > < /td >< /tr >
 < tr > < td > < div id=3 lang="1" > some metter < /div > < /td >< /tr >
 < tr > < td > < div id=4 lang="1" > some metter < /div > < /td >< /tr >
< /table >

4 个答案:

答案 0 :(得分:5)

您可以为table提供唯一ID,然后使用getElementsByTagName功能:

var table = document.getElementById('tableId');
if (table == null) return;
var divs = table.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
    var div = divs[i];
    if (div.lang == '1') {
        alert(div);
    }
}

答案 1 :(得分:3)

ol'普通javascript会发生什么?

  

var divs =   document.getElementsByTagName( '表')[0] .getElementsByTagName( 'DIV');

修改:忘记了最后一部分

var divLang = []; 
for(a in divs){
  ((divs[a].getAttribute('lang')) ==1)? divLang.push(divs[a]) : false;
}

答案 2 :(得分:1)

如果您使用PrototypejQueryClosure等库,这是最简单的,它提供了几乎全套的CSS3 selectors

使用Prototype,它看起来像这样:

var table = /* ...an expression finding the table...*/;
var divs = table.select('div[lang=1]');

例如,如果你给你的表一个id的“myTable”:

var table = $('myTable');
var divs = table.select('div[lang=1]');

或者只是

var divs = $('myTable').select('div[lang=1]');

使用jQuery,如果你将id提供给你的表,那就是:

var divs = $('#myTable div[lang=1]');

(是的,jQuery和Prototype都使用$,但是用于不同的事情。)

答案 3 :(得分:1)

尝试

$('table[lang="1"]');

或指定他们的类让我们说“divclass”并选择它们

$('.divclass[lang="1"]');

这是jQuery语法,因为其他人在原型

中发布了