Javascript 拆分href并将html放入变量中

Javascript 拆分href并将html放入变量中,javascript,jquery,variables,split,href,Javascript,Jquery,Variables,Split,Href,我想将此HTML减去“/modal”发送到一个变量中: <span class="detailsLink"><object><a href="/content/modal/30OffLucky" class="js-modal btn-secondary">DETAILS</a></object></span> var eemailDetails = $('.detailsLink a').each(function(){

我想将此HTML减去“/modal”发送到一个变量中:

<span class="detailsLink"><object><a href="/content/modal/30OffLucky" class="js-modal btn-secondary">DETAILS</a></object></span>
var eemailDetails = $('.detailsLink a').each(function(){
    this.href = this.href.replace('/modal', '');
}).html();
这将在将其传递到变量之前取出/modal:

<span class="detailsLink"><object><a href="/content/modal/30OffLucky" class="js-modal btn-secondary">DETAILS</a></object></span>
var eemailDetails = $('.detailsLink a').each(function(){
    this.href = this.href.replace('/modal', '');
}).html();

谢谢你抽出时间

应该对检索到的值进行替换,而不是对元素的属性进行替换

因此,要检索包含目标元素的HTML标记,可以使用

//获取整个HTML
var eemailDetails=$('.detailsLink')[0].outerHTML;
//删除/删除模式
eemailDetails=eemailDetails.replace('/modal','');
log(“属性未更改:”+$('.detailsLink a').attr(“href”);
log(“检索到的HTML:+eemailDetails)

因此每个都可以正常工作,我将变量保存为元素本身的数据属性。稍后,当它被单击时,我可以根据需要调用该数据属性。希望这有帮助

$('.detailsLink a')。每个(函数(){
var changedLink=this.href.replace('/modal','');
$(此).data(“changedLink”,changedLink)
});
$(“.detailsLink a”)。在(“单击”)上,函数(事件){
event.preventDefault();
var returnEl=$(this.parents(“.detailsLink”).clone();
returnEl.find(“a”).attr(“href”,$(this.data(“changedLink”));
console.log(returnEl[0].outerHTML);
});


看起来您给出的代码已经满足了您的要求。@mattsven我很抱歉,因为我可能没有正确解释它。当js运行时,我不希望站点上的HTML发生更改,我只希望在传递到变量中时删除“/modal”。创建变量,将其值设置为
this.href
,然后对新变量执行相同的替换。八达炳,八达邦。是的,让我们忘记。每一个,因为这是唯一需要担心的链接。但是如何将整行HTML放入该变量中呢?我不知道如何读取你的两个console.log。我想要var eemailDetails=等等,你想要eemailDetails包含整个DOM结构,并更新href?哇!无视我的回答。在未来,更清楚一点…抱歉雪猴的否决票。。。重读一遍,我发现您已经处理了问题的
。each()
循环部分。我不应该否决它。请编辑它(添加1个字符),以便我可以撤消它。;)但是我误解了这个问题——OP想要返回的不是链接本身,而是更新了链接的元素。我现在克隆它并能够返回它,而不是吹走现有的el。不过,谢谢你的解释,@Louyspatricebesette。