如果JS被禁用,
<noscript>
可以很容易地将HTML代码作为后备...但是如果我想要只在脚本启用时显示HTML代码呢?我可以有一个动态编写HTML的JS块,但使用常规HTML有没有更好的方法呢?
让我说我有一个链接:
<a href="test.com">This should only appear if Javascript is enabed</a>
答案 0 :(得分:10)
将HTML元素与style="display:none"
一起使用,将其设置为JavaScript中的display:block
。
示例代码(丑陋地狱,但只是为了给你一个想法)
<div id="hideThisFromNonJs" style="display:none">
Bla bla bla
</div>
<script type="text/javascript">
document.getElementById('hideThisFromNonJs').style.display='block';
</script>
答案 1 :(得分:3)
我可以有一个动态编写HTML的JS块,但使用常规HTML有没有更好的方法呢?
不幸的是,没有,没有。你必须使用某种形式的JavaScript。
我猜你可以设置一个类或CSS隐藏的东西:
<span class="jsonly">etc</span>
然后你可以运行类似的东西:
$('.jsonly').show();
答案 2 :(得分:3)
<style type="text/css" media="all">
#test { display:none }
</style>
...
<a id="test" href="test.com">...</a>
...
<script type="text/javascript">
document.getElementById('test').style.display = 'inline'; // or 'block', or whatever.
</script>
答案 3 :(得分:0)
我们通过给元素一个css类来定义它,将它们设置为display:none
并用JS显示它。
答案 4 :(得分:0)
不确定这是否是您要找的,但如果您给元素一个样式,请说“hasjs”
.hasjs{
display: none;
}
然后用一些jQuery删除它。
$('.hasjs').removeClass('hasjs');