2011-04-08 44 views
1

我已經花了數小時試圖解決這個問題,但不能!與標題sais一樣,以下代碼適用於除Firefox之外的所有內容!jQuery .next()在FF中返回NULL,但不在chrome中,即opera!

HTML

<div class="bottom"> 
    <fieldset> 
    <ul> 
     <li> 
      <label> 
       <input type="radio" name="fronts" class="config-inp-cha" value="1" checked="checked" /> 
        Buckets w/ adj headrests 
        ($<div class="price-config">179.97</div>) 
      </label>&nbsp; 
     </li> 
    </ul> 
    </fieldset> 
</div><!--bottom--> 

JavaScript的說明:很簡單,我抓住了價格配置div的價值參考選中的值。這在Firefox中返回NaN,但適用於所有其他瀏覽器! PLzzz幫助

$(document).ready(function() 
{ 
    var fronts_price = parseFloat($("input[name=fronts]:checked").next('.price-config').html()); 
    alert(fronts_price); 
}); 
+0

人們經常使用行吟詩人r工具來評估可能發生的事情。請粘貼您的呈現源代碼,免費使用PHP標記。以這種方式使用jsfiddle.net之類的東西要容易得多! – 2011-04-08 18:55:20

+0

對我來說看起來沒問題,並且在FF 4.0中爲你做了一個快速測試......它按預期提示179.97。 – Craig 2011-04-08 19:07:02

+0

我只是不明白! 3.6正在給出問題,(mac版本)。 – 2011-04-08 19:11:34

回答

1

您是否試過正確使用<label>標記? http://www.w3schools.com/tags/tag_label.asp

+0

你先生,讓我比任何其他女人都可以永遠幸福!哈哈,但嚴謹,亞表明不正確的使用標籤是與DOM搞亂。乾杯! – 2011-04-08 20:13:51

+1

[W3學校有問題](http://w3fools.com)。我推薦Mozilla的[MDC參考](http://developer.mozilla.org/en/HTML/Element/label) – 2011-04-08 20:37:50

+0

我也經常不信任W3學校,但在這種情況下,信息足以解決問題 – 2011-04-08 21:01:36

0

股利只是更改爲跨度:

http://jsfiddle.net/rdyhE/4/

編輯:忘了更改結束標籤

+0

感謝這是一個非常好的解決方案!任何想法,爲什麼這個工程,而不是分區? – 2011-04-08 21:15:45

+0

我認爲這可能與div是一個塊元素,span是一個內聯元素有關。 – PeeHaa 2011-04-08 21:33:02

0

如果您使用的是最新的jQuery,和任何真正的jQuery的爲此事,你需要用name屬性中選擇引號:

$(document).ready(function() 
{ 
    var fronts_price = parseFloat($('input[name="fronts"]:checked').next('.price-config').html()); 
    alert(fronts_price); 
}); 
+0

你真的嗎?我從不使用它。 – PeeHaa 2011-04-08 20:30:39

+0

從jQuery 1.4.2開始,我相信,如果你不包裝屬性,選擇器將失敗。 – 2011-04-08 20:37:02

+0

@eddie不知道。這是如何工作的:http://jsfiddle.net/cpcmz/? – PeeHaa 2011-04-08 20:40:06

相關問題