Javascript jQuery在子元素中查找并替换锚点
我有一些HTML遵循以下模式:Javascript jQuery在子元素中查找并替换锚点,javascript,jquery,html,Javascript,Jquery,Html,我有一些HTML遵循以下模式: <p class="title" data-section-title="" style="left: 0px;"> <a href="#">Overview</a> </p> 我需要将散列更改为锚点,类似于 我似乎无法使用jQuery选择它,主要是因为我对它很糟糕。我在尝试类似于$(.p.title>a”).attr(“href”)的东西http://www.someURL.com");只是尝试更改
<p class="title" data-section-title="" style="left: 0px;">
<a href="#">Overview</a>
</p>
我需要将散列更改为锚点,类似于
我似乎无法使用jQuery选择它,主要是因为我对它很糟糕。我在尝试类似于$(.p.title>a”).attr(“href”)的东西http://www.someURL.com");代码>只是尝试更改href
非常感谢您的帮助!谢谢您的代码完全正确。不过我闻到了一些腥味
我认为您甚至在存在或jquery未加载之前就试图访问元素。否则,这个简单的代码应该可以工作
试试这个:
$(document).ready(function() {
$("p.title > a").attr("href","http://www.someURL.com");
});
- 检查jquery是否已加载
- 在DOM ready中包装代码:
包装是这样的:
$(document).ready(function(){
//code goes here
});
如您所见,这在JSFIDLE中有效:。
初始化脚本时,可能有问题。试试这个:
$(document).ready(function() {
$("p.title > a").attr("href","http://www.someURL.com");
});
试试这段代码,它应该可以工作
$('p.title').find('a').attr('href',"http://www.someURL.com");
对不起,我错了:(
当Javascript启动时,您的HTML是否呈现?可能不是
最简单的解决方法:包裹
有两种方法。直接:
$(document).ready(function () {
$("p.title > a").attr("href","http://www.someURL.com");
});
速记:
$(function() {
$("p.title > a").attr("href","http://www.someURL.com");
});
其他方式
您不必将其包装在$(document).ready()
中。如果将该脚本放在正文末尾,则它可以工作:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<p class="title" data-section-title="" style="left: 0px;">
<a href="#">Overview</a>
</p>
<script>
$("p.title > a").attr("href","http://www.someURL.com");
</script>
</body>
</html>
$(“p.title>a”).attr(“href”,”http://www.someURL.com");
您可能没有加载jQuery
点击F12检查控制台。如果您看到如下错误:
$(document).ready(function(){
//code goes here
});
铬:
Firefox:
Internet Explorer:
然后您需要在文档中包含jQuery,试试这个小把戏。
不过,您的代码似乎还不错
$(document).ready(function() {
$("#btn1").click(function(){
$("p.title > a").attr("href","#tab1");
alert($("p.title > a").attr("href"));
});
});
我看不出你的代码中有任何错误。你需要将该函数放入事件中,例如你是对的,我甚至没有意识到的愚蠢错误。你不能选择未加载的元素。谢谢!@MannfromReno,很高兴能帮助你;)非常感谢,元素尚未加载,因此显然无法选择或修改任何内容。谢谢,你也是对的,我感谢你的回答/帮助。