在开发者工具中,我可以看到我的按钮:
<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。我究竟做错了什么? 感谢
答案 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;">