我有以下HTML代码,
<table>
<tr>
<td>content</td>
<td>content</td>
</tr>
<tr>
<td colspan="2">one</td>
</tr>
<tr>
<td>content</td>
<td>content</td>
</tr>
<tr>
<td colspan="2">two</td>
</tr>
<tr>
<td>content</td>
<td>content</td>
</tr>
<tr>
<td colspan="2">three</td>
</tr>
</table>
我真正想要的是计算“colspan”,并仅使用JavaScript从那些表中获取那些内容,请不要使用jquery和mootool。谢谢。
我已经得到了答案,我们可以优化为更短的代码或仅仅是代码吗?
var tds = document.getElementsByTagName( 'td' );
var colspanCount = 0;
var valuecount = 0;
for( i=0; i<tds.length; i++ ) {
myvalue = (tds[i].hasAttribute( 'colspan' ));
if (myvalue == true) {
valuecount += 1;
}
}
document.write('my value is ' + valuecount);
答案 0 :(得分:1)
那么你应该通过执行类似document.getElementsByTagName(“td”)的操作来循环遍历标记,然后对每个对象使用getAttribute方法,看看它是否为colspan返回了值。
伪代码:
tds=document.getElementsByTagName("td")
for i fom 0 to tds.length
if tds[i].getAttribute("colspan") is defined
//do smthing
希望有所帮助..
答案 1 :(得分:1)
我认为使用jQuery会是最好的,但是这样的事情应该有效:
var tablecols = document.getElementsByTagName("td");
for(var i in tablecols) {
if (tablecols[i].getAttribute('colspan') != undefined) {
alert(tablecols[i].innerHTML);
}
}
请注意,这是未经测试的。
答案 2 :(得分:0)
var tds = document.getElementsByTagName( 'td' );
var colspanCount = 0;
for( i=0; i<tds.length; i++ ) {
colspanCount += tds[i].hasAttribute( 'colspan' ) ? parseInt( tds[i].getAttribute( 'colspan' )) : 0;
}
document.write( 'Count: ' + colspanCount );
经过测试工作:
答案 3 :(得分:-1)
我自己,我只是使用jQuery。
你可以廉价出来并像对待字符串一样对待它并使用.split('colspan="2"')
然后长度为1将是你的答案。