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 不会选择您的元素,问题与htmlortext方法无关。请改用有效的标签,您的代码将起作用。

于 2012-12-30T13:59:11.220 回答
4

你的问题是<text>标签。这不是有效的 HTML 标记。版本 9 以下的 IE 以这种方式解释未知标签:<text class="mySecurityDisplay"></text>将变为<text class="mySecurityDisplay"/><text/>an,因此您不能在其中插入任何内容。

只需编写<div class="mySecurityDisplay"></div>,这将起作用。

于 2012-12-30T13:57:39.883 回答
1

好的,我得到了它的工作问题是<text>元素

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

Jquery 在选择元素后创建了一个实例对象,<text>但由于它不是有效的 HTML 标记,Jquery 对象不会返回任何方法供您处理。

就像您尝试对元素执行 a 一样val()<span>但仅在 html 表单元素中有效。

于 2012-12-30T14:13:11.373 回答
0
  1. 检查您是否有有效的 html,可能存在不匹配的标签。

  2. 尝试使用 append 而不是 html 方法。

于 2012-12-30T13:57:54.353 回答