起初没听说过内链外链,只有链接锚文本,在面试中被问到如何查找到页面中的内链和外链,就在想,什么是内链和外链啊???????

后来面试官给我解释了一下他们的区别,自己稍微懂了,自己当时回答的是通过获取a标签的href属性,查找字符串中是否存在href,后来又被问到如果用选择器怎么用呢?自己不会....

后来下来又想到这个问题,觉得自己猪啊,有属性选择器来匹配,但是当时为什么回答不上来,因为这个是css3中的,自己只知道,但是不太经常用,所以第一反应没有想到,归根结底还是个熟练度的问题,没有达到熟悉的程度!

这里粘贴一下属性选择

选择器 描述
[attribute] 用于选取带有指定属性的元素。
[attribute=value] 用于选取带有指定属性和值的元素。
[attribute~=value] 用于选取属性值中包含指定词汇的元素。
[attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。
[attribute^=value] 匹配属性值以指定值开头的每个元素。
[attribute$=value] 匹配属性值以指定值结尾的每个元素。
[attribute*=value] 匹配属性值中包含指定值的每个元素。

自己去网上查了一下关于内链和外链,很多讨论的都是如何提高网站的排名,和网站的优化问题,那么如何查找到内链和外链的数量呢?提供的答案是用站长工具,哈哈,不是我想要的,就贴出自己的想法吧,可能有缺陷,但能实现一定的功能

下面用自己的话通俗解释一下这些概念,自己比较讨厌官方那些比较生涩的词汇,不接地气

内链:就是自己网站内部的链接,可以跳转到自己网站内部其它页面的锚文本(超链接),如导航等....比如:<?php echo site_url('former/services');?>,这是phpCI框架形式的,其它有自己的样式,或者a标签的href=“#”或者href="javascript:void(0)"或href="javascript:"等也属于内链

外链:外链暂时自己了解到有三种类型:

  1. 锚文本(一个词或一句话有自己的链接,是链接到其他网站的,一般是http:做开头的)
  2. 纯文本链接(就如我们写文章或发博客时直接贴出来一个链接,如我现在贴我的博客地址http://www.cnblogs.com/lpshan/,它只是个链接地址,但点击不能到达目的地,自己需要粘贴到地址栏中)
  3. 反链(假设有两个页面A和B,B页面通过一个链接指向A页面,那么,B就是A的一个反链,做排名优化时有这样一句话“内链为王,外链为皇”)
   <script type="text/javascript">
$(document).ready(function(e) {
var allLink=$("a").length; //a标签的总数
var wLink=$("a[href^='http:']").length;//外链
var nLink=$("a[href^='<?php']").length;//内链 var bodyString=$("body").html();
var bodyLink=(nr.split('http')).length-1; //body内的外链 alert("bodyLink"+bodyLink+"总链有:"+allLink+"外链有:"+wLink+",内链有:"+nLink);
});
</script>

写了一个bodyLink因为自己有疑问,反链中的纯文本链接,地址不在a标签的href属性中,所以对于$("a[href^='http:']").length,纯文本链接外链就查不到,所以想了下面一种方法,把body中的内容按照字符串的形式获取,再从字符串中获取http字符,但是这样有个问题需要注意,他会获取body内的所有,包括注释掉的,也是有弊端吧。

至于上面的内链获取,可以获得总连接数-外链,因为有的a标签的href=“#”或者href="javascript:void(0)"或href="javascript:"等也属于内链。

感觉面试后虽然面试官问我了没几个问题,但是引导我又学到了好几个知识,很感谢,;-)

自己在学校没人引导,自己误打误撞的学学这学学那,觉得提高的很有局限,学前端除了自己学,写项目外,最好也有人去引导,这样提高的着会相对快一些

利用js查找页面中的内链,外链的更多相关文章

  1. UWP 利用VisualTreeHelper查找页面中的元素

    一般我们在展示数据的时候,都会采用DataTemplate的预先设置数据模板,再使用Set ItemsSource的方式进行数据绑定 这样就能满足大部分的需求. 不过有时候需要对页面已经展示出来的元素 ...

  2. 利用JS将页面中包含“一个”字段值的元素改为红色

    document.body.innerHTML = document.body.innerHTML.replace(/一个/ig,"<span style='color: red;'& ...

  3. 用JS改变页面中b标签的样式啊 样式的等

    用JS改变页面中b标签的样式啊 样式的等    ,实际上是在标签内加上样式 ,用媒体查询的话 ,不能生效 <!DOCTYPE html> <html lang="en&qu ...

  4. JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )

    1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...

  5. js 查找数组中某个字符出现的次数

    1. js 查找数组中某个字符出现的次数 代码示例 let arr = ['asd', 'green', 'yeadt', 'red', 'wati', 'red', 'red'] let index ...

  6. 找到你的位置(JS在页面中的位置)最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分

    找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页 ...

  7. js对页面中的内容进行拼音搜索,只对后台已经传过来的页面数据进行索引

    实现输入拼音(可以使用拼音首字母来查),来查询出已经存在于页面的数据 注意:这种写法只能适用于页面中已经存在的数据进行检索,大体意思是将本页内的数据拼接成一个字符串,然后通过该字符串去检索匹配的字符串 ...

  8. JS查找字符串中出现次数最多的字符

    本文给大家带来两种js中查找字符串中出现次数最多的字符,在这两种方法中小编推荐使用第二种,对js查找字符串出现次数的相关知识感兴趣的朋友一起看看吧   在一个字符串中,如 'zhaochucichuz ...

  9. JS - 查找同辈中的对象

    今天在使用parent().find(".a:first")的时候,发现查找结果非正常按照顺序来的.有点递归的感觉,从底层往上. 因为需要的是同级的对象,所以去查了一下jquery ...

随机推荐

  1. windows内网渗透技巧

    1.(windows)无扫描器情况下内网存活主机探测: for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1 | find /i "t ...

  2. js下载项目中的文件

    项目中有一个连接是下载视频插件,放到服务器上,不能io输出,所以指定地址直接下载 <div id="objInfo"> <jsp:include page=&qu ...

  3. 2. Add Two Numbers——Python

    题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...

  4. KAOS模型

    问题描述: 我们开发了一种针对时序数据的文件格式TSFile,本身不支持sql查询.为了让公司分析人员能够用SQL进行分析,并且应用一些机器学习算法进行预测,需要设计并实现一个TSFile与Spark ...

  5. AndroidStudio使用过程中遇到的bug

    Ref:http://www.cnblogs.com/jingmo0319/p/5781878.html 1. Error:Execution failed for task ':app:transf ...

  6. [笔记]linux下环境变量配置字段

    一般修改/etc/profile文件 java: export JAVA_HOME=/usr/lib/java/jdk1.8.0_92export CLASSPATH=.:$JAVA_HOME/lib ...

  7. Toad for Oracle

    # 设置schema browser 多标签

  8. ORACLE序列号

    select MAXSYSACCEPT.nextval from dual; (序列号检索 增1)alter sequence MAXSYSACCEPT increment by 1 cache 20 ...

  9. Tor网络突破IP封锁,爬虫好搭档【入门手册】

    本文地址:http://www.cnblogs.com/likeli/p/5719230.html 前言 本文不提供任何搭梯子之类的内容,我在这里仅仅讨论网络爬虫遇到的IP封杀,然后使用Tor如何对抗 ...

  10. windbg-.process切换进程(内核)

    .process .process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe kd& ...