如何检查按钮应用于哪种样式不工作

时间:2016-12-13 09:24:31

标签: javascript jquery css styles block

在开发者工具中,我可以看到我的按钮:

<input type="submit" name="ctl00$MainContent$MapUserControl$MapDefPage$CreateEditLayerPage$addAttribute" value="Add Attribute" id="ctl00_MainContent_MapUserControl_MapDefPage_CreateEditLayerPage_addAttribute" title="Click to add a new attribute to the layer" class="edit green btn spaceRight" style="float: right; display: block;">

你可以看到最后这个风格有一个DISPLAY of BLOCK。

但是当我尝试在控制台中测试它时:

$('addAttribute').css("display") == "block"
false

当我看到它应该为TRUE时,我得到FALSE的返回。为什么是这样? 基本上我想检查我的按钮是隐藏还是可见,这样我就能根据具体情况执行任务。 也尝试了

$('addAttribute').is(":visible"); 
false

但也会返回false。我究竟做错了什么? 感谢

4 个答案:

答案 0 :(得分:0)

我想,你使用了错误的选择器。你正在使用像

$('addAttribute').css("display") == "block"

但没有像addAttribute这样的标签。您可以查看

$('.edit.green.btn.spaceRight').css("display") == "block"

您也可以查看输入的ID

答案 1 :(得分:0)

alert($(':input.btn').css("display") == "block")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="submit" name="ctl00$MainContent$MapUserControl$MapDefPage$CreateEditLayerPage$addAttribute" value="Add Attribute" id="ctl00_MainContent_MapUserControl_MapDefPage_CreateEditLayerPage_addAttribute" title="Click to add a new attribute to the layer" class="edit green btn spaceRight" style="float: right; display: block;">

使用:input选择器选择类更准确的输入

答案 2 :(得分:0)

if($('.edit.green.btn.spaceRight').css("display") == "block"){
  alert('yes');
}else{
  alert('no');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input type="submit" name="ctl00$MainContent$MapUserControl$MapDefPage$CreateEditLayerPage$addAttribute" value="Add Attribute" id="ctl00_MainContent_MapUserControl_MapDefPage_CreateEditLayerPage_addAttribute" title="Click to add a new attribute to the layer" class="edit green btn spaceRight" style="float: right; display: block;">

答案 3 :(得分:0)

您可以尝试根据input元素找到它,id如下,

在您当前的代码中,您引用addAttribute的选择器不正确。

if ($('input#ctl00_MainContent_MapUserControl_MapDefPage_CreateEditLayerPage_addAttribute').css("display") == "block") {
  alert("Detected");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input type="submit" name="ctl00$MainContent$MapUserControl$MapDefPage$CreateEditLayerPage$addAttribute" value="Add Attribute" id="ctl00_MainContent_MapUserControl_MapDefPage_CreateEditLayerPage_addAttribute" title="Click to add a new attribute to the layer"
class="edit green btn spaceRight" style="float: right; display: block;">