隐藏元素如果另一个元素包含字母,则显示其他元素
Hide Element If Another Element contains letters, show otherwise
我遇到了一个问题,在一些javascript中,我有一个正则表达式,用于测试元素id的字母,如果它有字母,它隐藏了另一个元素id。这项工作,我的问题是它显示它隐藏的元素,当id确实是空的。然而,问题是,这个id是使用令牌填充的。你可以看到下面的代码,它有点草率,因为我只是添加了临时ID,试图让它工作。
<script type="text/javascript">
$(document).ready(function(){
var regex = /^[A-Za-z]+$/;
if (!regex.test($("#signinwelcome").val()))
{$("#signinlink").hide();}
else{$("#signinlink").show();}
});
</script>
<div id="headerwelcome"><div id="signinlink"><a href="default.aspx?Page=Logon" >SIGN IN / LOG OUT</a></div>
WELCOME <a href="Default.aspx?Page=My Account Profile"><div id="signinwelcome" style="display: inline;">@@FirstName</div></a>!</div>
所以在网页上如果你没有登录@@FirstName是空白的,不显示,它就是空的。当您登录时,#signinwelcome将填充您的姓名,然后应该隐藏SIGN in/LOG OUT,当您注销时,SIGN/LOG OUT应该重新出现。事实并非如此,它仍然隐藏着。
$("#signinwelcome").text()
将返回div元素内的文本。.val()
用于表单元素,例如文本、单选、复选框等。
另外,看看toggle
方法。它接受一个参数来表示开关开关。您的代码可以重写为:
$(document).ready(function(){
var regex = /^[A-Za-z]+$/;
var is_signed_in = regex.test($("#signinwelcome").text());
$("#signinlink").toggle(is_signed_in);
});
相关文章:
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 使用漂亮的照片点击另一个元素显示图像
- 我将如何在 HTML 中将数组中的所有元素显示为可点击的对象
- 使元素显示在最小屏幕大小上
- 更好的做法是通过CSS类或直接(通过DOM)修改HTML元素显示
- 如何在YouTube视频前制作元素显示
- 使隐藏元素显示 X 秒
- 如果元素显示:无;在媒体查询中,它们是否仍然加载
- 无法为每个元素显示高图
- 如何使用 jQuery 逐个元素显示
- 使用 jQuery 画布元素显示 Hiddin Div
- '李'mouseover事件被child'a'元素显示块
- JQuery元素显示/隐藏和控制流
- D3在工具提示上将内部列表的元素显示为不同的行
- AngularJS-动态创建<text区域>使用ngSanitize不会't显示(其他元素显示)
- 如何根据单击的元素的位置使元素显示在右侧或左侧
- 响应元素显示:无;在移动宽度,然后通过javascript按钮返回,但显示的链接断开:block;
- 当我再次单击时,它显示none,高度回到0px,但里面的元素显示,不显示none或离开页面
- 将一个元素显示在另一个元素的顶部,并在其上禁用鼠标悬停事件
- reactjs:为什么在render中定义的一些dom元素显示两次