如何通过javascript或jquery更改href? [复制]
Posted
技术标签:
【中文标题】如何通过javascript或jquery更改href? [复制]【英文标题】:How to change the href through javascript or jquery? [duplicate] 【发布时间】:2017-05-05 20:31:35 【问题描述】:<div id="div-id"><ul><li><a target="_blank" href="www.google.com">google</a> </li></ul></div>
如何通过javascript(不是通过getElementById,因为它在html中没有提到)或jquery更改href?
【问题讨论】:
你有什么代码?你已经测试了什么? 请阅读How to Ask。关键词:“搜索和研究”和“解释......任何阻碍你自己解决的困难”。 你说的“不是通过getElementById,因为它没有在html中提到”是什么意思?getElementById
是 JavaScript。
您可以尝试$('ul li a').attr('href', 'www.***.com')
,但请注意,如果页面上有多个 ul > li > a 订单,这将不起作用。
【参考方案1】:
$("body").ready(function()
$("ul li a").attr("href", "http://www.***.com/")
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul> <li> <a target="_blank" href="www.google.com">google</a> </li> </ul>
这是一种简单的方法,但现在它适用于所有 Links
,因为您没有选择器(类或 id)
【讨论】:
【参考方案2】:更准确地说,使其仅适用于特定的锚元素
$("body").ready(function()
$("ul >li >a:contains("google").attr("href", "http://www.***.com/")
)
【讨论】:
【参考方案3】:document.getElementById()
不是在文档中查找元素的唯一方法。你可以使用相当健壮的选择器,比如document.querySelector()
。举个极其简单的例子:
<ul>
<li>
<a target="_blank" href="www.google.com">google</a>
</li>
</ul>
<script type="text/javascript">
var element = document.querySelector('a');
element.href = 'http://example.com';
</script>
由于在给定的标记中,目标链接是 DOM 中的 only a
元素,简单的选择器 'a'
将识别它。在更复杂的文档中,您可以使用更复杂的选择器。例如:
document.querySelector('ul > li > a')
甚至:
document.querySelector('a[href="www.google.com"]')
由于您还使用 jQuery 标记了问题,因此您也可以在此处使用相同的选择器概念。比如:
$('a').attr('href', 'http://example.com');
或:
$('a[href="www.google.com"]').attr('href', 'http://example.com');
【讨论】:
以上是关于如何通过javascript或jquery更改href? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JavaScript 或 jQuery 更改数组内的对象的值?
JQuery 插件,Javascript - 如何仅为 JQuery 插件全局变量或 json 对象创建并在函数级别更改此(变量、对象)
如何在没有 CSS 且仅使用 JavaScript 或 jQuery/jQueryMobile 的情况下更改设备方向?