这篇随笔的标题真是好拗口,想表达的意思是,当点击超链接后,才去修改超链接的地址,此时超链接仍然链接的是是修改之前的页面,而不是修改之后的页面。

超链接代码如下:

 <a id="chao1" href="http://www.{0}.com" >我是度娘</a>

看到了吗?度娘并不是度娘,而是{0},之后的代码,就是用‘baidu’代替{0},代码如下:

         $("#chao1").click(function (event) {
var htm = $("#div1").html();
htm = htm.replace("{0}", "baidu");
$("#div1").html(htm); });

经过上面的三条语句,超链接的地址虽然被置换成了“www.baidu.com",但是然并卵。浏览器的地址栏如图:

卧槽,我改了半天你就给我看这个,于是我考虑采用直接跳转的方式:ASP.NET MVC中如何实现页面跳转中的第二点,代码如下:

         $("#chao1").click(function (event) {
var htm = $("#div1").html();
htm = htm.replace("{0}", "baidu");
$("#div1").html(htm);
window.location = $("#chao1").attr("href");
});

我尼玛,链接的依然是上面那个然并卵的地址,于是我想到了第三种方案,阻止超链接的跳转,只让window.location起作用,代码如下:

         $("#chao1").click(function (event) {
event.preventDefault();
var htm = $("#div1").html();
htm = htm.replace("{0}", "baidu");
$("#div1").html(htm);
window.location = $("#chao1").attr("href");
});

果然,度娘还是爱我的,如图:

注意 preventDefault()用来阻止元素的默认事件:随手抛链接学习一下

可能会有小伙伴会问,怎么可能会有这么奇葩的需求,在点击超链接的时候,才去修改href,可是po主确实是遇到了,po主找到的临时的解决方案是,在每个可能改变href的地方,都变化href,而上面的解决方案,一次解决。

JQuery中点击超链接动态修改url连接地址无效的更多相关文章

  1. Swift - 实现点击cell动态修改高度

    Swift - 实现点击cell动态修改高度 效果 源码 https://github.com/YouXianMing/Swift-Animations // // TapCellAnimationC ...

  2. 点击cell动态修改高度动画

    点击cell动态修改高度动画 效果 源码 https://github.com/YouXianMing/Animations // // TapCellAnimationController.m // ...

  3. Ext.data.Store动态修改url

    store.proxy = new Ext.data.HttpProxy({url:path}); 示例: var ad_store = new Ext.data.JsonStore({ fields ...

  4. jquery.form插件中动态修改表单数据

    jquery.form jquery.form插件(http://malsup.com/jquery/form/)是大家经常会用到的一个jQuery插件,它可以很方便将表单转换为ajax的方式进行提交 ...

  5. jquery删除内容是动态修改序号

    如图,点击删除图标的时候要删除当前的一条记录,同时界面上的序号要动态的排列好 以下是html结构: jquery实现思路: 首先,需要获取到当前要删除盒子的序号$indexCur,然后遍历父盒子,取出 ...

  6. jquery中点击切换的实现

    项目中经常会遇到一种情况,就是点击切换,比如点击按钮,div样式为1,再点击一下按钮,div样式为2,再点击一下按钮,div样式为1.需要自定义jQuery方法toggle. // toggle方法 ...

  7. 使用jquery点击一个实现button或连接,进行以下div显示,在点击隐藏

    jquery代码: <script type="text/javascript" src="js/jquery-1.7.2.js"></scr ...

  8. Jquery点击本身,修改出本身之外的其他同级元素的样式

    1.引用Jquyer库 2.Jquery代码: <script type="text/javascript"> $(function () { slidColor('d ...

  9. GitHub上README.md教程 详情介绍 (修改图片连接地址错误)

    最近对它的README.md文件颇为感兴趣.便写下这贴,帮助更多的还不会编写README文件的同学们. README文件后缀名为md.md是markdown的缩写,markdown是一种编辑博客的语言 ...

随机推荐

  1. Gym - 101810C ACM International Collegiate Programming Contest (2018)

    bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...

  2. ORA-00972_标识符过长

    执行SQL查询报:"ORA-00972:标识符过长"错误. 执行SQL: SELECT T.F_FTBS, T.F_TZMC "X组/XXXX/XXXX名称", ...

  3. 计算机中如何实现除数是2的幂次的除法【转载自CSDN】

    前言: 本来是在看汇编里面的数据条件传送指令,做习题的时候看着这么一道有关于2的幂次方除法的题目.结果傻眼了,又尼玛不会了.........第二章看的时候就稀里糊涂的,看了几遍也没看太懂,这回又涉及到 ...

  4. B. Hierarchy

    http://codeforces.com/problemset/problem/17/B 用邻接矩阵建图后, 设cost[v]表示去到顶点v的最小值. 很多个人去顶点v的话,就选最小的那个就OK 然 ...

  5. WIN32项目中MFC程序窗口居中

    //class CMainWindow : public CFrameWnd void CMainWindow::OnSize(UINT nType, int cx, int cy){    CFra ...

  6. freebsd安装ports

    /etc/portsnap.conf 里面更改 SERVERNAME=portsnap.hshh.org portsnap的命令比较少 fetch 获取数据 extract 释放全部ports upd ...

  7. js对象引用的注意

    var p = {}; var arr = []; function a(param) { // var i = param.a; for (var i = 0; i < 3; i++) { p ...

  8. 添加/删除 windows下Git右键菜单

    从网上搜索了些方法,总结一下 不显示右键菜单: 方法1: 安装的时候选择不添加右键菜单. 方法2(绝对有效): 运行CMD Windows 64 输入命令(地址为git安装地址) cd "C ...

  9. (三)mybatis之对Hibernate初了解

    前言:为什么会写Hibernate呢?因为HIbernate跟Mybatis一样,是以ORM模型为核心思想的,但是这两者有相似的地方也有差异的地方.通过这两种框架的比对,可以对mybatis有着更深的 ...

  10. (转)MyBatis框架的学习(一)——MyBatis介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/71699343 MyBatis介绍 MyBatis本是apache的一个开源项目iBatis,2 ...