Jquery显示:无,显示:内联块
Jquery display:none, display: inline-block
我必须将元素从display: none
设置为display: inline-block
单击另一个元素时。
Jquery总是检测到它display: none
(function ($) {
$(document).ready(function() {
$("#click").click(function () {
if($("#show").css('display','none')) {
$('#show').css('display','inline-block');
} else {
$('#show').css('display','none');
}
});
});
})(jQuery);
#show {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="click">
Click
</div>
<div id="show">
Text
</div>
Fiddle
if
语句错误,
if($("#show").css('display','none'))
如果要将css属性分配给if
语句中的show
元素,请改用.is(':visible')
。
if(!$("#show").is(':visible'))
更新if()
以使用is(':visible')
函数:
var displayType = ( ! $("#show").is(':visible') ) ? 'inline-block'
: 'none';
$('#show').css('display', displayType);
jsFiddle演示
与许多jQuery函数一样,css根据您传递的参数有两种不同的行为。
如果只传递第一个参数(css属性),它将返回css属性的值。
如果您传递css属性和值,它将设置值并返回实际的jQuery对象。
试试这个:
(function ($) {
$(document).ready(function() {
$("#click").click(function () {
//Get the div in jquery object.
var div = $("#show");
//Determine the actual value of the display.
var display = div.css('display');
//Determine the desired value.
if (display == 'none')
display = 'inline-block';
else
display = 'none';
//Change the value
div.css('display', display);
});
});
})(jQuery);
相关文章:
- 如何在页面重新加载时显示jquery ui对话框
- 如何为显示jquery滑块值的文本框设置默认值
- 突出显示jQuery中单词之间的空格
- 不显示 jQuery 不显眼的验证摘要
- Rails-jQuery 为什么我必须单击两次才能显示 jQuery 效果
- 如何在页面导航上显示jquery警报
- Slider和Date Picker未显示JQuery
- 键入时不要显示jQuery UI自动完成
- 如何显示jQuery自动完成响应并选择它
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 检测文本是否在鼠标上突出显示jQuery
- 30 秒后显示 Jquery UI 对话框
- X 可编辑的编辑值不显示 jquery 集值
- 显示 jQuery 复选框选择
- 用于显示字段的工具提示和显示 Jquery 验证中的错误的工具提示器
- 如果站点上存在多个滑块,则显示 Jquery UI 滑块的值
- 谷歌地图信息框能够显示JQuery UI小部件
- 在标签中以 asp.net 显示 jQuery 的结果
- 当 Javascript 在浏览器中关闭时显示 Jquery .slide() 表单
- 在 Leaflet Map 上显示 jQuery 动态 GeoJSON 内容