如果启用了JS,我该如何编写HTML代码?

Mr.*_*Boy 7 javascript dom

可能重复:
是否有与noscript相反的html

<noscript>如果JS被禁用,可以很容易地将HTML代码作为后备...但是如果我想拥有仅在启用脚本时显示的HTML代码怎么办?我可以有一个动态编写HTML的JS块,但使用常规HTML有更好的方法吗?

假设我有一个链接:

<a href="test.com">This should only appear if Javascript is enabed</a>
Run Code Online (Sandbox Code Playgroud)

Sea*_*oyd 10

使用HTML元素style="display:none",display:block从JavaScript 设置.

示例代码(丑陋地狱,但只是为了给你一个想法)

<div id="hideThisFromNonJs" style="display:none">
Bla bla bla
</div>

<script type="text/javascript">
document.getElementById('hideThisFromNonJs').style.display='block';
</script>
Run Code Online (Sandbox Code Playgroud)

  • @Phrogz非常有效的评论.如何将`<div class ="hidden">`与`hidden`类定义为外部样式表中的`display:none`.JS会删除该类. (2认同)

Mat*_*att 3

我可以有一个动态编写 HTML 的 JS 块,但是有没有更好的方法来使用一些常规 HTML 来实现它?

不幸的是,不,没有。您必须使用某种形式的 JavaScript。

我想你可以设置一个类或由 CSS 隐藏的东西:

<span class="jsonly">etc</span>
Run Code Online (Sandbox Code Playgroud)

然后你可以运行类似的东西:

$('.jsonly').show();
Run Code Online (Sandbox Code Playgroud)