street
如何通过javascript更改href(不是通过getElementById,因为html中没有提到)或jquery?
答案 0 :(得分:1)
$("body").ready(function() {
$("ul li a").attr("href", "http://www.stackoverflow.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>
&#13;
这是一种简单的方法,但是现在它将它应用于所有Links
,因为你没有选择器(类或id)
答案 1 :(得分:0)
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中的仅 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');
答案 2 :(得分:0)
更精确,并使其仅适用于特定的锚元素
$("body").ready(function() {
$("ul >li >a:contains("google").attr("href", "http://www.stackoverflow.com/")
})