1

我有 4 个 div,里面有一个随机数

调用$("#result1 span").text()时输出为空白。但是,当调用$("#result1 span").html()输出时会给出值。

如何在没有 html 的情况下获得价值?

输出是这样的:

<style type="text/css">
        #number {position:relative; top:-225px;left:584px;width:230px;height:10px;}
        #number span {padding:14px; margin:2px; color:orange; font-size:30px;}
        #number input:hover{opacity:0.9; filter:alpha(opacity=90);}
        #number input{opacity:1.0; filter:alpha(opacity=100);}
        #generate {position:relative; top:35px; left:-1px; width:95px; height:25px;}
        #reset {position:relative; top:35px; left:5px; width:95px; height:25px;}
    </style>1

我需要的值就在结束</style>标记之后"1"

完整的html:

<div id="number">
<span id="result1"></span>
<span id="result2"></span>
<span id="result3"></span>
<span id="result4"></span>
<button id="generate">Generate</button>
<button id="reset">Restart</button>
</div>

Javascript:

$('#result1').html((Math.random() * 10) >> 0);
$('#result2').html((Math.random() * 10) >> 0);
$('#result3').html((Math.random() * 10) >> 0);
$('#result4').html((Math.random() * 10) >> 0);
4

4 回答 4

1

我想我看到了你的问题。$("#result1 span").text() 女巫将等价于 $('#result1').find('span') 将找到嵌套在 "#result1" 中的第一个跨度的文本

看起来“#result1”没有任何嵌套跨度,实际上您想要“#result1”的跨度文本值。

如果我是正确的 $('#result1').text() 是您正在寻找的代码。

于 2012-04-28T19:41:01.130 回答
1

试试这个:(这应该一一返回所有4个跨度内的文本)

$("#result1 span").each (function () {
    console.log($(this).text());
});
于 2012-04-28T19:25:49.260 回答
1

至少有一件事——你的选择器是错误的。$("#result1 span").text() 不会给你任何东西,因为 result1 中没有跨度 result1一个跨度。将您的选择器更改为 $("#result1") 并查看您得到的结果。

只需更改选择器对我有用:

http://jsfiddle.net/ccross59/TnbCc/1/

于 2012-04-28T19:33:02.687 回答
1

如果您可以将“需要此文本”放在带有 id 的 span 中,那就容易多了——然后您只需抓住该 id 的 .text()。如果无法更改标记,则可以获取 span 的 .html() 和字符串匹配“”之后的内容,但这很脆弱。

于 2012-04-28T19:34:58.183 回答