js怎么获取图片的相对地址

 

 

<!DOCTYPE html>
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=gb2312" />
  <title> new document </title>
  <meta name="generator" content="editplus" />
  <meta name="author" content="小秦" />
  <meta name="keywords" content="小秦" />
  <meta name="description" content="" />
 </head>
 <body>
  <ul id="int">
    <li><img src="images/2.jpg" width="69" height="51"  onmouseover="Change_p(0)"/></li>
  </ul>
  <script type="text/javascript">
  //<![CDATA[
  function Change_p(m) {
    var object = document.getElementById("int").getElementsByTagName("img");
    for (var i = 0; i < object.length; i++) {
      if (i == m) {
        var str = object[i].getAttribute('src', 2);
        window.alert(str);
      }

      return;
    }
  }
  Change_p(0);
  //]]>
  </script>
</body>
</html>

 

JavaScript中,我们可以通过字符串的方式获取图片路径的类型。通常情况下,图片路径的类型有两种:绝对路径和相对路径。 相对路径一般指的是相对于当前文件所在的路径来访问图片文件,例如:../images/logo.png。而绝对路径则是指图片文件在服务器上的完整路径,例如:http://www.example.com/static/images/logo.png。 如果要获取图片路径的类型,我们可以使用JavaScript中的字符串方法来判断。首先,我们可以使用indexOf()方法(返回字符串中第一次出现指定字符的位置)来检查字符串中是否包含协议头(http://或https://),如果有,那么就是一个绝对路径;反之,如果没有协议头,则说明是一个相对路径。如下所示: ``` let imgUrl = '../images/logo.png'; if (imgUrl.indexOf('http://') === 0 || imgUrl.indexOf('https://') === 0) { console.log('这是一个绝对路径'); } else { console.log('这是一个相对路径'); } ``` 上面的代码会输出“这是一个相对路径”,因为imgUrl字符串中不包含http://或https://协议头。 除了使用indexOf()方法,我们还可以使用正则表达式来检查图片路径是否是一个合法的URL。如下所示: ``` function checkImgUrl(url) { let regex = /(http|https):\/\/([\w.]+\/?)\S*/; if (regex.test(url)) { console.log('这是一个合法的URL'); } else { console.log('这不是一个合法的URL'); } } checkImgUrl('http://www.example.com/static/images/logo.png'); // 输出“这是一个合法的URL” checkImgUrl('../images/logo.png'); // 输出“这不是一个合法的URL” ``` 上面的代码中,我们使用了正则表达式来检查URL是否包含http://或https://协议头,并且判断URL是否合法。如果URL是合法的,那么就是一个绝对路径。反之,如果URL不合法,那么就是一个相对路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值