单击按钮后,按钮不会出现或消失

时间:2015-02-27 20:51:31

标签: javascript html css css3 twitter-bootstrap

我有以下部分代码:

<div id="code" class="bg-primary">

            <div class="code-output">rgb(0,0,0);<div class="btn btn-warning pull-right" id="reset">Reset</div></div>    

        </div>

问题是id =&#34; reset&#34;什么时候不会出现或者点击后会消失。有什么想法吗?这是我的css和一些js: CSS

#reset{
    position: relative;
bottom: 0.56em;
left: 0.5em;
}

JS

$('#reset').click(function(){
        $('.rgb').val(0);
        color="rgb(0,0,0)";
        $(".code-output").html(color+";");
        $("#rgbaOutput").css("background","black");
     });

2 个答案:

答案 0 :(得分:2)

在声明按钮之前,似乎要关闭代码输出的div,否则调用html()方法将删除按钮。

另请注意我的JavaScript调整 - 在声明之前不要使用变量 - 因为它将转到全局对象(谈论颜色 var)。

额外建议:尝试使用引号保持一致。尝试保持代码缩进的一致性。另外,在运营商周围放置一个空间。所有这些小细节都提高了代码的可读性。

(我忽略了jQuery语句在示例代码中没有做任何事情,假设它会在你的完整上下文中做一些事情)

$("#reset").on("click", function () {
  var color = "rgb(0,0,0)";
  
  $(".rgb").val(0);      
  $(".code-output").html(color + ";");
  $("#rgbaOutput").css("background", "black");
});
#reset {
  position: relative;
  bottom: 0.56em;
  left: 0.5em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="code" class="bg-primary">

  <div class="code-output">rgb(0,0,0);</div>
  <div class="btn btn-warning pull-right" id="reset">Reset</div>
  
</div>

答案 1 :(得分:1)

嗯,你这样说:

$(".code-output").html(color+";");

将取代<div class=".code-output">中的所有内容并显示rgb值。

因为你的重置div在这个div中,所以它会消失(显然)。

请改用:

<div class="code-output">rgb(0,0,0);</div> <!-- use </div> tag here -->
<div class="btn btn-warning pull-right" id="reset">Reset</div> <!-- instead of here -->