Javascript Jquery锚定标记不打开poup

Javascript Jquery锚定标记不打开poup,javascript,html,jquery,Javascript,Html,Jquery,我试着做两件事: 当有人点击Lease today时打开一个弹出窗口请注意,我无法控制HTML,因此Jquery是更改HREF的唯一方法 第一次单击后,将锚定标记更改回/floor-plans.aspx 不知何故,代码根本没有调用函数,也不知道如何执行2 更改锚定标记的HREF属性 $document.readyfunction{ $'a[href^=http://'.eachfunction{ var oldUrl=$this.attrref;//获取当前url var newUrl=old

我试着做两件事:

当有人点击Lease today时打开一个弹出窗口请注意,我无法控制HTML,因此Jquery是更改HREF的唯一方法 第一次单击后,将锚定标记更改回/floor-plans.aspx 不知何故,代码根本没有调用函数,也不知道如何执行2

更改锚定标记的HREF属性 $document.readyfunction{ $'a[href^=http://'.eachfunction{ var oldUrl=$this.attrref;//获取当前url var newUrl=oldUrl.replace/floor-plans.aspx,openPopup;//创建新url $this.attrref,newUrl;//设置herf值 }; }; 函数openPopup{ 警报弹出窗口打开; }
第一个问题是如何选择锚点,第二个问题与如何使用href属性有关

固定代码:

函数openPopup{ 警报弹出窗口打开; } $'a[href^=/floor plans.aspx]'。每个功能{ var oldUrl=$this.attrref;//获取当前url var newUrl=oldUrl.replace/floor-plans.aspx,javascript:openPopup;;//创建新url $this.attrref,newUrl;//设置herf值 };
这有两个部分,第一个单击执行警报,第二个不执行警报,但允许单击并关闭此处理程序,第一次只有我们发出警报

此外,我还添加了一个类,使选择器更易于使用/理解

您没有询问如何辨别在函数中单击了什么,因此我展示了这一点以及如何传递一些额外的值/对象

更改锚定标记的HREF属性 函数openPopupevent,已传递{ console.logpassed.foo.Name; AlertPopupOpen为+$event.target.text; } $function{ $'a.replacer-clicker'。单击时,functionevent{ //获取之前的url,如果我们有它 let prior=$this.data'prior-href'; 如果!事先{ //不要去那里阻止其他事件处理程序看到它 事件。停止即时传播; 事件。停止传播; 违约事件; //保存旧的,无需事先单击 $this.data'preor-href',$this.attrref; //所有这些都与此相反,所以我们知道它的上下文 openPopup.applythis,[event,{foo:{Name:fooby}}]; //简单的 //openPopup; }否则{ console.logprior; //第二次点击之前 //现在关闭此处理程序 $this.off'click'; //现在重新触发点击,传递一些参数 $this.trigger'click',[{foo:{Name:fooby}}]; } }; };
您是否验证了选择器a[href^=http://]是否正确?您可能也会从使用该功能中受益,但弹出窗口不显示警报?如果使用console.loghh更改警报,会发生什么情况?