首页 > 解决方案 > 点击后更改链接名称和href

问题描述

我有以下链接:

<span class="hds-icon-star-empty" aria-hidden="true"><!-- --></span>  <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" data-lightbox class="save-record" data-id="<?=$this->escapeHtmlAttr($this->driver->getUniqueId()) ?>"><?=$this->transEsc('Add to favorites')?></a><br/>
        <br/>

现在我想在单击链接后将文本“添加到收藏夹”更改为“已添加到收藏夹”。我猜在单击链接之前,onclick-function 将无法工作,因为它会重定向到新页面。

标签: javascriptphphref

解决方案


您可以使用停止链接的默认行为event.preventDefault()

但是您还必须使用AJAX向目标页面发送请求,以执行与数据库相关的实际功能。

document.querySelector("a").onclick = function(){
  event.preventDefault();
  this.innerHTML = "Already Added to Favorites";
  var href = this.getAttribute("href");
  //$.ajax({url : href ,...});
};
<a href = "/">Add to favorites</a>


推荐阅读