1

我不知道为什么,但希望有人可以用下面的代码帮助我。

    <script src="/jquery-1.7.2.min.js"></script>
    <script>
    $(".static_class").click(function(){
        if($(this).val()==="expanded") 
            $(".widget_prev").append("<p>expanded</p>"); 
        else $(".widget_prev").append("<p>minified</p>");
    });
    </script>

    <div>
    <input type="radio" name="ad_window" selected="selected" value="expanded" class="static_class" />Ad Window Expanded
    <br />
    <input type="radio" name="ad_window" value="minified" class="static_class" />Ad Window Minimized
    <b>Widget Preview: </b>
    <div class="widget_prev"></div>
    </div>

似乎无法附加文本。想知道问题出在哪里。

4

4 回答 4

1

确保在绑定点击事件之前等待元素进入 DOM。在下文中,我使用的是 的缩写形式$(document).ready(),即$(function(){ /* ... */ });

$(function(){

  $(".static_class").on("click", function(e){
      $("<p>").text(function(){
          return $(e.target).val() === "expanded" ? "expanded" : "minified" ;
      }).appendTo(".widget_prev");
  });

});

小提琴:http: //jsfiddle.net/jonathansampson/drkCK/

于 2012-06-05T04:51:40.167 回答
1

jquery将您的代码包装在$(document).ready({});

于 2012-06-05T04:52:03.270 回答
0

将脚本放在单选按钮/div 下方。

于 2012-06-05T04:50:54.600 回答
0

把代码放进$(function(){//here}); 去试试这个更聪明的方法

    <script>
$(function(){    $(".static_class").click(function(){
                 $(".widget_prev").append("<p>"+this.value+"</p>"); 
                 });
});
        </script>
于 2012-06-05T04:53:58.543 回答