2011-07-21 6 views
3

var partnerId = $('.partnerId').html();jQueryのHTML()アプリ

に上記のコードは、IE7とFirefoxで正しく

<span id="_ctl0_ContentPlaceHolder1_lPartnerID" class="partnerId">1122</span></td>

からインナーHTMLを引っ張ります。 iPad上でコードが失敗します。

alert(partnerId)は、FireFoxとIE7で正しく「1122」を返します。しかし、iPadで私は

<a href="tel:1122">1122</a>私の戻り値を得る。

どうすればこの問題を解決できますか?

答えて

5

投稿する少し前に、問題を解決する方法を考え出しました。誰かがこのソリューションの恩恵を受けるかもしれないので、私は何とか投稿しました。この問題は、iPads電話番号の検出によるものです。 iPadはいくつかのHTMLの電話番号であると考えているものを上書きします(上記の内容を参照)。私の場合、私は電話番号の検出を必要としません。だから私は、マスターページのヘッダーに

<meta name = "format-detection" content = "telephone=no" />

を立ち往生。問題が解決しました。

3

text();を使用してみましたか。

var partnerId = $('.partnerId').text(); 
2

私はあなただけの数をしたいと仮定します。

$('.partnerId').text(); 
1

何かがあなたがDOM内の特定のサブツリーのためにこれを克服することはできませんと言われます。グローバルな解決策についてはP.Brian.Mackeyの答えを参照してください。 .text()を使用することは、私が考えると最も信頼性が高く、効果的な選択肢です。

実際には、例えばSkypeプラグインがインストールされていて、番号が電話番号のように見える場合は、IEまたはFFで同じ結果を得ることがあります。