Jquery 不显示禁用的选项元素?
我想知道是否有办法不显示禁用的元素?如果启用了它们(通过javascript/jquery),则显示它们?您可以在jquery中执行以下操作,假设您对Jquery 不显示禁用的选项元素?,jquery,html,Jquery,Html,我想知道是否有办法不显示禁用的元素?如果启用了它们(通过javascript/jquery),则显示它们?您可以在jquery中执行以下操作,假设您对输入标记使用正确的HTML脚本: $('input[disabled="disabled"']).hide(); 然后只需在jQuery代码中添加一个重新启用它们的show() 更新 我没有提到问题的标题。以上是表单输入标记的解决方案,而不是选择选项标记。在CSS中,您可以执行以下操作 option[disabled] { display
输入标记使用正确的HTML脚本:
$('input[disabled="disabled"']).hide();
然后只需在jQuery代码中添加一个重新启用它们的show()
更新
我没有提到问题的标题。以上是表单输入
标记的解决方案,而不是选择选项
标记。在CSS中,您可以执行以下操作
option[disabled]
{
display:none;
}
它应该隐藏已禁用的选项,但不确定浏览器兼容性。使用隐藏元素的范围将其包装。虽然不漂亮,但很管用。例如
jQuery
$(document).ready(function() {
$("#togglebutton").click(function(){
var Element=$("#disableme");
if (Element.attr("disabled")==false) {
Element.attr("disabled","disabled").wrap("<span class='hide'></span>");
} else {
Element.removeAttr("disabled");
Element.parent('span.hide').replaceWith(Element.parent('span.hide').html());
}
});
});
HTML
<input type="text" id="disableme"><br />
<input type="button" id="togglebutton" value="Toggle disable">
在IE 6、IE 8、Firefox 3.6.6、Opera 10.60和Iron 5.0.380上进行测试。可以显示您已经达到的脚本吗?与Jason的相同,这在跨浏览器情况下不起作用,需要使用不同的方法来处理操作。这取决于“跨浏览器”的含义。它适用于IE7+、Firefox 3+、Safari 3+、Chrome和Opera 9+——该网站需要在新的Firefox ie 7+和新的其他浏览器中工作。是的,这就是为什么我说我不确定浏览器兼容性的原因。@Zurahn-那不是真的,我指的不是[禁用]
,而是显示:无代码>自己试试:如果我使用类选择器,这会起作用吗?他们有不同的课程。@Nick,你确定吗?如果这是CSS,你是对的。我得检查一下@史蒂文,是的,只需将你的类添加到输入中:input.yourclass[disabled=“disabled”]
他想隐藏
元素,而不是
你不能隐藏跨浏览器:)@Nick,啊哈。只有在问题标题中,我往往会错过这些东西;)
<input type="text" id="disableme"><br />
<input type="button" id="togglebutton" value="Toggle disable">