整合营销服务商

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

免费咨询热线:

vue a标签跳转

网页设计中,a标签是用来创建超链接的标签。通过a标签,我们可以方便地实现页面之间的跳转。当用户点击a标签时,浏览器会根据标签中的href属性的值来加载相应的页面。a标签的使用非常广泛,可以用于跳转到其他页面、下载文件、发送邮件等。


在使用a标签时,我们需要注意以下几点:


1. href属性:href属性用于指定链接的目标地址。可以是一个绝对路径(如http://www.example.com)或相对路径(如./about.html)。如果要在当前页面打开链接,可以使用空值或者#作为href属性的值。


2. target属性:target属性用于指定链接在何处打开。常用的取值有_blank(在新窗口打开)、_self(在当前窗口打开)、_parent(在父窗口打开)、_top(在顶层窗口打开)。如果不指定target属性,则默认在当前窗口打开。


3. title属性:title属性用于为链接添加提示信息。当用户将鼠标悬停在链接上时,会显示title属性中的内容。


4. rel属性:rel属性用于指定链接与当前页面的关系。常用的取值有nofollow(告诉搜索引擎不要跟踪链接)、noopener(防止通过链接打开的新窗口访问原始页面)、noreferrer(防止通过链接打开的新窗口访问原始页面并且不传递referrer信息)。


5. download属性:download属性用于指定链接下载文件时的文件名。当用户点击链接时,浏览器会自动下载指定的文件,并使用download属性指定的文件名保存。


除了以上几点,还可以通过CSS样式来美化a标签,如改变链接的颜色、添加下划线等。


a标签是实现页面跳转的重要标签,合理的使用a标签可以提升用户体验,增加网站的功能。

们今天来分析解释一下这个表达式string hrefPattern = @"href\s*=\s*(?:""'[""']|(?<1>[^>\s]+))";,并用实例演示用法。这个正则表达式用于从文本中提取href属性的值,这些值可以是被单引号或双引号包围的,或者是不包含大于符号和空白字符的文本。我们分解这个正则表达式来详细解释它的各个部分:

1. href\s*=\s*: 这部分匹配 href 关键字,后面可以跟着零个或多个空白字符,然后是一个等号,再然后又是零个或多个空白字符。其中href: 直接匹配文本中的"href",这是HTML中表示链接地址的属性名称。\s*=\s*: 匹配等号(=),等号前后可以有0个或多个空白字符(包括空格、制表符、换行符等)。

2. (?:...): 这是一个非捕获组,意味着它会匹配括号内的内容,但不会为其创建一个捕获组。这意味着我们不能直接从匹配结果中提取这部分内容。

3. [""'](?<1>[^""']*)[""']: 这部分匹配被单引号或双引号包围的任何内容。具体来说:

1. [""']: 匹配一个单引号或双引号。

2. (?<1>[^\"']*): 创建了一个命名捕获组,名为1,用来捕获在引号之间的任何非引号字符序列,这就是href属性的值。(?<1>...): 这是一个命名捕获组,但这里它被放在了一个非捕获组内,这意味着它不会捕获匹配的内容。

3. [^""']*: 匹配任何不是单引号或双引号的字符零次或多次。

4. [""']: 再次匹配一个单引号或双引号。

4. |: 或者操作符,表示前面的模式和后面的模式中的任何一个可以匹配。又叫管道符号,代表逻辑“或”操作,也就是表示前面的模式与后面的模式任一满足即可。

5. (?<1>[^>\s]+): 这部分匹配任何不是大于符号或空白字符的字符一次或多次。这也是一个命名捕获组,但同样,它被放在了一个非捕获组内。当href值没有被引号包围时使用。也就是这部分匹配不是大于符号(>)和空白字符的任何字符1次或多次,但不包括引号。

综上所述,此正则表达式能够处理以下两种格式的href属性及其值:

1. 被引号包围的情况:<a href="http://example.com">...</a> 或 <a href='http://example.com'>...</a>

2. 未被引号包围的情况:<a href=http://example.com>...</a>

实例演示用法:

using System.Text.RegularExpressions;

namespace ConsoleAppC

{

internal class Program

{

static void Main(string[] args)

{

string inputString = @"<a href=""http://example.com"">Link</a>

<a href='http://another.example.com'>Another Link</a>

<a href=http://noquotes.example.com>No Quotes Link</a>";

string hrefPattern = @"href\s*=\s*(?:[""'](?<1>[^""']*)[""']|(?<1>[^>\s]+))";

MatchCollection matches = Regex.Matches(inputString, hrefPattern);

foreach (Match match in matches)

{

Console.WriteLine(match.Value); // 输出匹配到的href属性值

Console.WriteLine($"Found href value: {match.Groups[1].Value} at index: {match.Groups[1].Index}");

}

}

}

}


运行这段代码后,将输出如下结果:

href="http://example.com"

Found href value: http://example.com at index: 9

href='http://another.example.com'

Found href value: http://another.example.com at index: 72

href=http://noquotes.example.com

Found href value: http://noquotes.example.com at index: 150

为了给大家演示如何使用这个正则表达式,我们再看以下例子:

假设我们有以下的HTML片段:

<a href="https://www.example.com">Click here</a>

<a href='https://www.example.org'>Go there</a>

<a href="https://www.example.net" target="_blank">Open external link</a>

使用上述的正则表达式,我们可以提取所有的href属性值:

string input = @"<a href=\""https://www.example.com\"">Click here</a>

<a href='https://www.example.org'>Go there</a>

<a href=\""https://www.example.net\"" target=\""_blank\"">Open external link</a>";

代码为:

string hrefPattern = @"href\s*=\s*(?:[""'](?<1>[^""']*)[""']|(?<1>[^>\s]+))";

Regex regex = new Regex(hrefPattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);

MatchCollection matches = regex.Matches(input);

foreach (Match match in matches)

{

Console.WriteLine($"Found href: {match.Groups["1"].Value}");

}

string input = @"<a href=\""https://www.example.com\"">Click here</a>

输出将是:

Found href: \"https://www.example.com\"

Found href: https://www.example.org

Found href: \"https://www.example.net\"

注意,这个正则表达式并不完美,它可能无法处理所有可能的HTML格式,但对于简单的用途来说可能已经足够了。

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写在前面,也会显示在页面的尾部

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