Javascript 我想使用.childNodes迭代该表,然后找到<;B>;标签。我的代码没有';不行!
我的代码有问题。我想使用Javascript获得具有银色样式的b标记。我尝试使用标记名==“B”,但它不起作用。我认为B标记不是rowData类的子类Javascript 我想使用.childNodes迭代该表,然后找到<;B>;标签。我的代码没有';不行!,javascript,Javascript,我的代码有问题。我想使用Javascript获得具有银色样式的b标记。我尝试使用标记名==“B”,但它不起作用。我认为B标记不是rowData类的子类 <tr class="rowData"> <td style="padding: 0pt;"> <table><tr> <td> <b style="font-siz
<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>
抢劫
支出:200-300美元
经验:+1
必修的:
能量:1
我去掉了它的一部分
下面是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();
var jobs={};
jobs.scan=函数(){
var tagHolder={};
var availJobs={};
var jobContents=dom.get(“app8743457343_content”);
var rData=dom.getElementsByClass(“rowData”,jobContents,“tr”);
对于(变量i=0;i
或者,你可以试试!它既有趣又简单,所有的酷孩子都在这么做
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);
为此:
var bs = jobContents.getElementsByTagName("b");
这将1)加速,2)确保你得到你想要的
祝你好运。你可以打一场好仗,试着让这个怪物在所有浏览器上运行
或者,你可以试试!它既有趣又简单,所有的酷孩子都在这么做
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);
为此:
var bs = jobContents.getElementsByTagName("b");
这将1)加速,2)确保你得到你想要的
祝你好运。你的代码没有深入到树中。你需要至少多4个级别的childNode“for”循环才能到达“B”标记。如果你这样做,那么你可能应该创建一个递归函数来搜索你的“B”标记。您的代码没有深入到树中。您至少还需要4个级别的childNode“for”循环才能到达“B”标记。如果您这样做,那么您可能应该创建一个递归函数来搜索“B”标记。是否可以将代码修改为使用带id的跨距或类?是否可以将代码修改为使用带id的跨距或类?是的,我实际上有时会使用它。但我想在进入jQuery之前先掌握原始javascript。因为我想如果我了解原始javascript,我会成为一名更好的javascript程序员@unknown:我有点同意你的说法,但通常情况下,让你成为一名优秀程序员的原因是你知道如何以一种产生有用结果的方式将高层抽象拼凑在一起。你不必费力地钻研繁杂的细节,这样可以节省时间。嗨..抱歉这么急忙忙..实际上我是一名非常新的程序员。我只是我参加了我的comsci课程。我对编程充满热情。事实上,现在已经凌晨3点了,我还在编写代码。我需要早上7点起床上课。我的一个坏行为是我倾向于看细节。说真的。我会完成这个油腻的脚本,然后继续jQuery。这是一个很大的脚本,因为我会自动完成游戏的所有方面。Th恩,然后我将继续jQuery。然后用jQuery编写我的下一个个人项目。ye,我实际上有时会使用它。但在我继续jQuery之前,我想先掌握原始javascript。因为我认为如果我知道原始javascript,我会成为一名更好的javascript程序员。@unknown:我有点同意你的说法,但经常会这样让你成为一名优秀的程序员的原因是知道如何以一种产生有用结果的方式拼凑高级抽象。你不必去挖掘繁杂的细节就能节省时间。嗨..很抱歉这么急躁..实际上我是一名非常新的程序员。我刚开始我的comsci课程。我对编程充满热情。实际上我现在已经凌晨3点了,我还在编写代码。我需要早上7点起床上课。我的一个坏行为是我倾向于看细节。说真的。我会完成这个油腻的脚本,然后继续编写jQuery。这是一个很大的脚本,因为我会自动完成游戏的所有方面。然后我会继续编写jQuery。然后编写我的下一个个人代码jQuery中的项目。