通过标记内的标记使用javascript获取价值

时间:2013-01-10 09:39:44

标签: javascript jquery

我需要从这些代码中提取数据:

<div class="rateCalc_InfoLine2">
    <span style="font-size:12px;">
        Text1 - <b><font color="red" size="2">$ 500</font></b>;
        Text2 - <b><font color="red">$ 30</font></b>
    </span>
</div>

所以基本上,我需要找到302nd font tag的{​​{1}}内的值span tagdiv tag位于rateCalc_InfoLine230。结构是静态的,所以我不需要担心错误(只有值$(".rateCalc_InfoLine2").html(); 会改变)

我知道锄头可以得到这样的div值:

$(".rateCalc_InfoLine2 font").eq(1).html().replace('$ ', '');

但如何获得我需要的具体产品?


答案:{{1}}

6 个答案:

答案 0 :(得分:3)

您可以先使用descendant selectordiv中找到字体元素,然后使用索引查找使用eq()的第二个元素。

<强> Live Demo

$(".rateCalc_InfoLine2 font").eq(1).html();

修改以删除$

strResult = $(".rateCalc_InfoLine2 font").eq(1).html().replace('$ ', '');

答案 1 :(得分:2)

$(".rateCalc_InfoLine2 font:eq(1)").html();

$(".rateCalc_InfoLine2 font:last").html();

答案 2 :(得分:0)

嗯,在这种特定情况下你可以这样做:

$(".rateCalc_InfoLine2 font")[1].innerHTML;

答案 3 :(得分:0)

要从标记内选择值,您需要使用html()

var value = $(".rateCalc_InfoLine2 font").eq(1).html();

答案 4 :(得分:0)

试试这个:

$(".rateCalc_InfoLine2 font")[1].innerHTML;

Demo JSFiddle

答案 5 :(得分:0)

以下select the relevant element会使用text()方法访问其文字内容,match()其中包含任何数字值,并将其分配给sum

var price = $('.rateCalc_InfoLine2 font:eq(1)').text().match(/\d{1,}/);
if (price) { var sum = price[0]; }

在您的示例中,sum将被赋予值30