整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

碎片时间学编程「269]:避免为空链接使用“javascript:void(0)”


免为空链接使用“javascript:void(0)”


有多种创建空链接的方法,但有些选项比其他选项更合适。关于它的最常见争论之一是是否应该使用 href=""、href="#" 或 href="javascript:void(0)"。


通常,您希望避免 href="javascript:void(0)",因为它会导致浏览器解析链接 URL 的值,这既昂贵又不必要。它还引入了一个潜在的 XSS 安全漏洞,因为 javascript: URL 违反了内容安全策略 (CSP)。


考虑到这一点,很明显在大多数情况下应该首选 href="" 或 href="#"。两者之间的一个主要区别是 href="#" 指向页面顶部,而 href="" 指向当前页面。这可能会产生不需要的副作用,例如滚动到页面顶部或分别出现链接样式问题。要防止其中任何一个充当链接,您可以使用 Event.preventDefault() 并使用 JavaScript 适当地处理它们。


最后,在创建空链接时,应始终考虑语义上更合适的替代方案,例如 <button>、<div> 或 <span> 标记。毕竟,一个链接应该始终表现得像一个链接,用 JavaScript 或任何其他方式劫持它迟早会遇到一些可访问性问题。

更多内容请访问我的网站:https://www.icoderoad.com

TML常用标签有:a标签、table标签、img标签、form标签和input标签。

a标签

作用

  1. 跳转到外部网页
  2. 跳转到内部锚点
  3. 跳转到邮箱或电话等

属性

(一)href

href是hyper reference的缩写,超链接的意思。

用于指定链接目标的ur地址,(必须属性)当为标签应用href属性时,它就具有了超链接的功能;
href=“#”表示这是一个空链接;
如果href里面地址是—个文件或者压缩包,会下载这个文件。

<a href="https://google.com">超链接到google网站的主页</a>
 <a href="https://google.com">超链接到google的主页</a>
 <a href="//google.com">超链接到google的主页</a>

展现形式:

点击此链接,即可到达google的主页

a标签href的取值:

1、上述代码中的网址的取值(推荐使用第三行的代码)

<a href="//google.com">超链接到google的主页</a>

由于此方式能够自动补齐相关的网络地址,前面两种写错就会报错,所以推荐使用。

2、路径

  • /a/b/c 或者是a/b/c

当前路径下的a里面的b,b里面的c

  • index.html 以及./index.html

在当前目录下寻找index.html文件

3、伪协议

  • javascript:代码;(冒号与分号一定要写)
<a href="javascript:;">点击后无任何点击或刷新等动作的反应</a>
  • 锚点链接
<a href="#要跳转的元素的id"></a>

点击链接的时候,会跳转到指定元素所在的位置。

  • mailto:邮箱
<a href="mailto:abcdefg@163.com ">发邮件给我</a>
  • tel:手机号
<a href="tel:12345678901">打电话给我</a>

(二)targe

用于指定链接页面的打开方式

a的target取值

1、内置名字

_blank 在空白页打开

_self 在当前页面打开

_parent 在父级窗口打开

_top 在最顶级的窗口打开

<a href="//google.com" target="_blank">超链接到google网站的主页在空白页打开</a>

2、程序员的命名

window:name(在xxx页面打开)

iframe的name(iframe现在已经很少使用了,是指内嵌窗口)


(三)download

下载页面,但目前很少用,有的浏览器不支持,尤其是手机浏览器可能不支持。

table标签

1、table标签的语法:

thead:表头

tbody:表的内容,用于定义

tfoot:表的脚部

tr:table row,表格里的行

th:表格的表头部分,其中的文本内容字体加粗居中显示

td:table data,表格数据,用于定义表格中的单元格

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <table>
      <thead>
        <tr>
          <th></th>
          <th>小红</th>
          <th>小黄</th>
          <th>小蓝</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th>数学</th>
          <td>90</td>
          <td>60</td>
          <td>80</td>
        </tr>
        <tr>
          <th>语文</th>
          <td>88</td>
          <td>95</td>
          <td>97</td>
        </tr>
        <tr>
          <th>英语</th>
          <td>88</td>
          <td>95</td>
          <td>97</td>
        </tr>
      </tbody>
      <tfoot>
        <tr>
          <th>总分</th>
          <td>266</td>
          <td>250</td>
          <td>274</td>
        </tr>
      </tfoot>
    </table>
  </body>
</html>



第一行的th标签为空

2、table的样式

table-layout:auto;自动计算每一行的宽高

table-layout:fixed;通过列表的宽度来决定平均宽度

border-collapse:collapse; 合并边框(默认边框与边框之间不合并)

border-spacing:0;边框为0.(边框与边框之间的距离)。

img标签(图片)

作用:发出get请求,展示一张图片。

<img src="1.JPG" alt="头像" width="400" />

当前路径下的1.jpg,确定宽度为400,只写宽度高度会自适应

属性

alt:alternate的缩写,替换的意思。替换文本,图像不能显示的文字。

路径错误显示alt内容

title:提示文本。鼠标放到图像上,显示的文字。

响应

max-width:100% 所有的图片在手机上都自适应宽度,宽度最大为100%。

事件

onload/onerror 监听图片是否加载成功,加载成功时用onload,不成功是用onerror事件。确保在onerror事件能够补救。

<body>
 <img id="xxx" src="dog.jpg" alt="一只小狗">
<script>
xxx.onload = function () {
console.log("图片加载成功");
 };
xxx.onerror = function () {
console.log("图片加载失败");
xxx.src = "/404.jpg";
 };
</script>
</body>

监听成功时,打印出成功

监听失败时,先打印出监听失败并且开始执行加载失败是的挽救图片。404.jpg文件执行

感想:

  • a标签的默认样式可以设置清除,href属性可以有好多种取值,a标签的意义也不仅仅是跳转到一个网址,还可以发邮件打电话。
  • 给img标签设置宽度和高度时,不能让图片变形
  • table标签必须按照thead,tbody,tfoot的结构去写,先划分好结构,再往里填充内容,即使tfoot写在前面,也会显示在页面的尾部

本文为作者本人的原创文章,著作权归作者本人和饥人谷所有,转载务必注明来源。

用jquery实现判断一个div盒子里内容是否为空,以内容为判断依据然后可以对它处理,有时内容为空时而盒子设定了高度,就会出现空白,这样很不美观,,那么这时就可以用jquery实现判断一个div盒子里内容是否为空,空时隐藏,有时展现。

例如:

<!DOCTYPE html>

<html>

<head>

<meta charset="gb2312">

<title>jq判断div内容是否为空</title>

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>

</head>

<body>

<div class="box" style="display:none;">内容</div>

<div class="txt"></div>

<script type="text/javascript">

$(function(){

var box=$(".box").html();

if(box==null||box==""){

$(".txt").html("空的哦亲!");

} else {

$(".txt").html("有内容的哦亲!");

}

})

</script>

</body>

</html>

例子中div里有内容,所以输出结果是“有内容的哦亲!

除注明外的文章,均为来源:汤久生博客(QQ:1917843637),转载请保留本文地址!