4

これがコードとjsfiddleリンクです。.textと.htmlの両方の関数を試しました。しかし、どちらもIE8では機能しません。誰かが私にIEのソリューションを提供できますか?(私はグーグルで検索しましたが、人々は同じような問題を抱えているようですが、解決策を得ることができませんでした)ありがとう

http://jsfiddle.net/3eaGL/

  <div class="controls">       
            <div class="btn-group" data-toggle="buttons-radio">
                <input name="MySecurity[my_education]" id="MySecurity_my_education" type="hidden" value="0" />                            
                <button type="button" class="btn" value="2" display="Private">P</button>
                <button type="button" class="btn" value="1" display="Friends">F</button>
                <button type="button" class="btn" value="0" display="All ( Public )">A</button>
            </div>   
            <text class="mySecurityDisplay"></text>  
       </div>  




$("button[display]").bind('click', function(){
                    var buttonValue=this.value;
                    $(this).siblings("input[type=hidden]").val(buttonValue);
                    $(this).parent().next().text($(this).attr( 'display' ));
                 });
4

4 に答える 4

7

問題はこれです:

<text class="mySecurityDisplay"></text>  

IE8は不明なタグをレンダリングしないため、jQueryは要素を選択しません。問題は、htmlメソッドtextに関連していません。代わりに有効なタグを使用すると、コードが機能します。

于 2012-12-30T13:59:11.220 に答える
4

あなたの問題は<text>タグです。これは有効なHTMLタグではありません。バージョン9より前のIEは、不明なタグを次のように解釈します。<text class="mySecurityDisplay"></text>になり<text class="mySecurityDisplay"/><text/>、コンテンツを挿入できなくなります。

書くだけ<div class="mySecurityDisplay"></div>で、これでうまくいきます。

于 2012-12-30T13:57:39.883 に答える
1

わかりました、問題は<text>要素でした。

http://jsfiddle.net/3eaGL/7/

Jqueryは、要素を選択した後にインスタンスオブジェクトを作成しました<text>が、有効なHTMLタグではないため、Jqueryオブジェクトは破棄するためのメソッドを返しません。

val()これは、要素に対してを実行しようとしているようなもの<span>ですが、htmlフォーム要素でのみ有効です。

于 2012-12-30T14:13:11.373 に答える
0
  1. 有効なhtmlがあるかどうかを確認してください。タグが一致していない可能性があります。

  2. htmlメソッドの代わりにappendを使用してみてください。

于 2012-12-30T13:57:54.353 に答える