![](/img/trans.png)
[英]I want to load the background first using jquery but my code doesn't seem to work
[英]I want to iterate the Table using .childNodes, then find the <B> tag. My code doesn't work!
我的代码有问题。 我想使用 Javascript 获得具有银色风格的 b 标签。 我尝试使用 tagName === "B" 但它没有用。 我认为 B 标签不是 rowData class 的子代。
<tr class="rowData">
<td style="padding: 0pt;">
<table><tr>
<td>
<b style="font-size: 15px; color: silver;">Mugging</b>
<br />Payout: <b style="color: green;">$200 - $300</b>
<br />Experience: +1 </td>
<td style="text-align: right;">
</td>
</tr></table>
</td>
<td style="padding: 0pt;">
<table><tr>
<td style="width: 100px;">
<b style="color: gray;">Required:</b>
<br />Energy: 1 </td>
<td style="">
</td>
</tr></table>
</td>
</td>
</tr>
我删了一部分。。
这是 Javascript 代码的一部分:
var jobs = {};
jobs.scan = function() {
var tagHolder = {};
var availJobs = {};
var jobContents = dom.get("app8743457343_content");
var rData = dom.getElementsByClass("rowData", jobContents, "tr");
for(var i = 0; i < rData.length; i++) {
var rChildren = rData[i].childNodes;
for(var j=0; j<rChildren.length; j++) {
if(rChildren[j].tagName === 'B') {
alert(rChildren[j]);
}
}
}
}
jobs.scan();
当我启动脚本时,它没有发出警报,也没有响应。 也许我需要使用一些东西来喜欢 nextSibling? 请帮我解决这个问题。我想要银色风格的b。 抢劫案文
你可以打一场精彩的战斗,并尝试让这个怪物在所有浏览器上运行......
或者,您可以尝试jQuery ,它既有趣又简单,所有酷孩子都在这样做!
var text = $('tr.rowData').find('b').filter(function() {
return $(this).css('color') == 'silver';
}).text();
alert(text);
多田!
编辑:说真的,如果您想在原始 javascript 中执行此操作,这适用于 IE 和 Firefox:
var text;
var bs = document.getElementsByTagName("b");
for(var x = 0; x < bs.length; x++) {
if(bs[x].style.color == 'silver') {
text = bs[x].innerHTML;
break;
}
}
alert(text);
它只是抓取文档中的所有粗体元素并检查哪个具有银色。 显然,这不是超级有效,而且我不确定您的用例。 我确实在您的代码中看到您首先获取对jobContents
元素的引用。 我不确定这是从哪里来的,因为你没有发布那部分标记,但是如果<b>
最终会在这个元素内,你可以更改这一行:
var bs = document.getElementsByTagName("b");
对此:
var bs = jobContents.getElementsByTagName("b");
然后它将 1) 加快速度,2) 确保你得到你想要的。
祝你好运。
您的代码没有 go 深入到树中。 您至少需要 4 级以上的 childNode "for" 循环才能到达 "B" 标记。 如果您使用 go 这条路线,那么您可能应该创建一个递归 function 来搜索您的“B”标签。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.