Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在子元素中查找并替换锚点_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery在子元素中查找并替换锚点

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");只是尝试更改

我有一些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");只是尝试更改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,很高兴能帮助你;)非常感谢,元素尚未加载,因此显然无法选择或修改任何内容。谢谢,你也是对的,我感谢你的回答/帮助。