仅在特定 div 中使用 javascript 更改部分链接

Posted

技术标签:

【中文标题】仅在特定 div 中使用 javascript 更改部分链接【英文标题】:change part of a link with javascript in a specific div only 【发布时间】:2014-01-25 22:06:21 【问题描述】:

您好,我需要编辑页面上的一些链接。使用以下代码有效,但会导致页面上出现其他问题。我需要代码只影响具有特定输入 ID 的元素。我也不能只替换链接,因为查询将动态添加到每个链接的末尾。所以总而言之,我只需要用输入ID“btnViewDetails”替换所有链接的一部分。任何帮助都会很棒,我很困惑。干杯

<script language="javascript">

    document.body.innerhtml = document.body.innerHTML.replace(/JobSeekers/g,'mobile');
    document.body.innerHTML = document.body.innerHTML.replace(/JobPositionDetail.aspx/g,'JobPositionDetail_Mobile.aspx');

</script>

【问题讨论】:

【参考方案1】:

var someVariable = document.getElementsByClassName('btnViewDetails');

(如果不是唯一值,则应使用类而不是 ID)。

someVariable 现在是一个数组,其中包含类名为 btnViewDetails 的所有元素。

现在仅在元素的 href 值上替换要替换的文本(您必须循环遍历它们):

for (i = 0; i < someVariable.length; i++) 
  someVariable[i].href // do your replaces here

【讨论】:

非常感谢您的快速回复,我尝试了以下方法,但它不起作用。我还需要参考 .innerHTML 等吗?干杯&lt;script type="text/javascript"&gt; var someVariable = document.getElementsByClassName('btnViewDetails'); for (i = 0; i &lt; someVariable.length; i++) someVariable[i].href.replace(/JobSeekers/g,'mobile'); someVariable[i].href.replace(/JobPositionDetail.aspx/g,'JobPositionDetail_Mobile.aspx'); &lt;/script&gt; 我也尝试过以下方法,它非常接近,但只更改文本而不链接任何进一步的建议会很棒。谢谢&lt;script type="text/javascript"&gt; $('#btnViewDetails').each( function() $(this).html($(this).html().replace(/JobSeekers/g,'mobile')); ); &lt;/script&gt;

以上是关于仅在特定 div 中使用 javascript 更改部分链接的主要内容,如果未能解决你的问题,请参考以下文章

限制仅在特定 DIV 内拖动

Javascript - 仅在 DOM 中可见 div 时播放音频

仅在 html 代码中使用 javascript 重新加载特定页面一次

如何仅在 div 上应用 javascript

如何仅在特定框架中显示 html 内容?

JavaScript:如何隐藏/取消隐藏 <div>