仅在特定 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 等吗?干杯<script type="text/javascript"> var someVariable = document.getElementsByClassName('btnViewDetails'); for (i = 0; i < someVariable.length; i++) someVariable[i].href.replace(/JobSeekers/g,'mobile'); someVariable[i].href.replace(/JobPositionDetail.aspx/g,'JobPositionDetail_Mobile.aspx'); </script>
我也尝试过以下方法,它非常接近,但只更改文本而不链接任何进一步的建议会很棒。谢谢<script type="text/javascript"> $('#btnViewDetails').each( function() $(this).html($(this).html().replace(/JobSeekers/g,'mobile')); ); </script>
以上是关于仅在特定 div 中使用 javascript 更改部分链接的主要内容,如果未能解决你的问题,请参考以下文章
Javascript - 仅在 DOM 中可见 div 时播放音频