js从html标签获取价值

时间:2011-08-07 17:24:05

标签: javascript xmlhttprequest

<table cellpadding="1" cellspacing="1" id="member"><thead>
<tr>
<th>&nbsp;</th>
<th>Gracz</th>
<th>Ludność</th>
<th>Osady</th><th>&nbsp;</th></tr></thead><tbody><tr>
    <td class="ra">1.</td><td class="pla"><a href="spieler.php?uid=5473">rafal12</a></td><td class="hab">8801</td>
    <td class="vil">12</td><td class="on"><img class="online2" src="img/x.gif" title="Logował(a) się w ciągu ostatnich 24 godzin" alt="Logował(a) się w ciągu ostatnich 24 godzin" /></td></tr><tr>
    <td class="ra">2.</td><td class="pla"><a href="spieler.php?uid=3136">rspboss</a></td><td class="hab">7131</td>
    <td class="vil">11</td><td class="on"><img class="online2" src="img/x.gif" title="Logował(a) się w ciągu ostatnich 24 godzin" alt="Logował(a) się w ciągu ostatnich 24 godzin" /></td></tr><tr>
    <td class="ra">57.</td><td class="pla"><a href="spieler.php?uid=762">zxcv</a></td><td class="hab">1670</td>
    <td class="vil">4</td><td class="on"><img class="online1" src="img/x.gif" title="teraz on-line" alt="teraz on-line" /></td></tr><tr>
.... and so on...

这是我要从中收集数据的html表示例。我想要检索的是此表中img标记内的值,并列出它们的列表。我怎样才能获得这个价值?

如果img classonline1还是online2,怎么说?

欢迎任何帮助

PS:如果有人会这么好,那将会很棒,指导我如何制作这些列表并将其放入XMLHttpRequest

4 个答案:

答案 0 :(得分:3)

//Find all the images that are inside the tbody of the table with the id member
oImages = document.getElementById("member").getElementsByTagName("tbody")[0].getElementsByTagName("img");
//Create an array that will contain refrences for all the img tags
aImages = [];
//go through all of the images, check their class, and append them to
//the array if the class match
for(i-0; i<oImages.length; i++){
  if(oImages[i].className == "online1") aImages.push(oImages[i]);
}

答案 1 :(得分:2)

您可以通过说:

来检查班级名称
document.getElementById([id]).className

但是由于你没有图像上的id,所以变得有点困难。纯粹的JS方式是获取表元素并循环遍历其子元素,直到找到img标记。

我建议在img标签中添加id或使用类似jQuery的库来简化它。

答案 2 :(得分:2)

这个脚本将为你获取图像标签的所有类..不确定你在寻找XMLHttpRequest的内容,但这应该可以帮助你

var imgTags = document.getElementsByTagName('img');
var results = [];
for(var i=0;i<imgTags.length;++i)
{
    results.push(imgTags[i].className);
}

结果存储在数组结果中;

答案 3 :(得分:0)

如果我理解正确,您想要从页面中的img元素中检索不同属性的值。 在这种情况下,您可以使用getAttribute方法(请参阅http://reference.sitepoint.com/javascript/Element/getAttribute),该方法从元素中获取某个属性的值。 要获取img元素,可以使用getElementsByTagName方法(请参阅http://reference.sitepoint.com/javascript/Document/getElementsByTagName)。 使用这两种方法,您可以遍历所有的图像并比较它们的类:

if(imageElement.className == 'online1')
{
 var value = imageElement.getAttribute('src'); //This will retrun the value for the source of the image
}
// The same for online2 class