Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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更改href和html文本?_Javascript_Html - Fatal编程技术网

如何使用Javascript更改href和html文本?

如何使用Javascript更改href和html文本?,javascript,html,Javascript,Html,所以我有一小块HTML,我没有访问权限,我需要将它链接的URL改为其他地方 现在我环顾四周,尝试了不同的方法,但似乎不起作用,所以我一定是做错了什么 Html代码: <div class="manageable-content" data-container="edit_register_ind_container"> <a class="entry-text-link secondary-step step-button" id="register_ind_conta

所以我有一小块HTML,我没有访问权限,我需要将它链接的URL改为其他地方

现在我环顾四周,尝试了不同的方法,但似乎不起作用,所以我一定是做错了什么

Html代码:

<div class="manageable-content" data-container="edit_register_ind_container">
    <a class="entry-text-link secondary-step step-button" id="register_ind_container" href="oldurl">Register</a>
 </div>
到目前为止,任何一个都不走运

一点背景信息: 我正在使用一个名为Luminate/Blackbaud的平台,它是一个带有奇怪设置的CMS。标题标签和类似的东西与html主体位于不同的位置,css也位于其他位置(但我只是使用ftp在标题中引用它)

我是如何引用javascript代码的

我的css工作,所以我肯定这应该,但我只是不知道为什么它不是。 欢迎所有建议(除了要求html访问,因为我有,3周前lol)


谢谢你抽出时间

您正在单击事件之外更改URL。。将其包装在click事件中。。还可以使用
$(this)

$(document).ready(function(){
     $("#register_ind_container").click(function(){
           $(this).text('Start a Fundraiser');
           $(this).attr("href", "http://google.ca");
     });
});

您正在更改单击事件外部的URL。。将其包装在click事件中。。还可以使用
$(this)

我看到了你的两个代码:

 $("#register_ind_container").attr("href", "http://google.ca");
这一行将在页面加载时执行,因此应在加载时更改href

$("#register_ind_container").click(function(){
但当您执行此操作时,请单击Id 它不起作用,因为在这种情况下,此id与超链接关联

所以超链接有默认的子集规则

要覆盖此项,您可以尝试

$("#register_ind_container").click(function(e){
    // custom handling here
    e.preventDefault();
 $(this).text('Start a Fundraiser');
});
但这也不是一个好的做法。希望这有帮助

我看到了您的两个代码:

 $("#register_ind_container").attr("href", "http://google.ca");
这一行将在页面加载时执行,因此应在加载时更改href

$("#register_ind_container").click(function(){
但当您执行此操作时,请单击Id 它不起作用,因为在这种情况下,此id与超链接关联

所以超链接有默认的子集规则

要覆盖此项,您可以尝试

$("#register_ind_container").click(function(e){
    // custom handling here
    e.preventDefault();
 $(this).text('Start a Fundraiser');
});

但这也不是一个好的做法。希望这有帮助

为什么要将其包装在单击处理程序中?您只需执行
$('#register_ind_container').attr('href','http://google.ca“).text('开始筹款')
不带单击处理程序。那么什么不起作用呢?单击处理程序启动是否正确,或者文本/链接是否未被更改?您的
urlmopulation.js
中是否有任何其他jQuery函数工作正常?这些是my.js中唯一的函数,在我的其他.js文档中(引导滚动等)工作正常。文本更改不起作用,链接更改也不起作用。为什么要将其包装在单击处理程序中?您只需执行
$('#register_ind_container').attr('href','http://google.ca“).text('开始筹款')
不带单击处理程序。那么什么不起作用呢?单击处理程序启动是否正确,或者文本/链接是否未被更改?您的
urlmopulation.js
中是否有任何其他jQuery函数工作正常?这些是my.js中唯一的函数,在我的其他.js文档中(引导滚动等)工作正常。文本更改不起作用,链接更改也不起作用。感谢您的解释!我可以问一下为什么这不是一个好的实践吗?如果你和一个开发团队一起工作,那么这种实践在那里是行不通的。因为如果你提交了注册表格,在json调用之后,你想更改超链接并通过它开始筹款,你会一次又一次地覆盖同一个函数,这会给团队造成误解好的代码就是这样,你的团队可以很容易地理解你在其中做什么。即使在这里,您也覆盖了超链接,但是如果您通过表单将数据传递给json调用等,那么整个序列化将在那里工作。。提交表单,然后开始筹款。您可以更改整个页面或在该表单的成功功能上加载另一个页面,以便链接通过该页面。。你不需要重写子集哦,我明白了,很高兴知道,谢谢。Atm我是一个人,后端处理的大部分内容都由CMS处理,这是一个问题,因为访问这个html文档要花很长时间,它将解决我99%的问题。他们正在使事情变得比需要的更复杂。再次感谢你的解释,我会记住这一点。谢谢你的解释!我可以问一下为什么这不是一个好的实践吗?如果你和一个开发团队一起工作,那么这种实践在那里是行不通的。因为如果你提交了注册表格,在json调用之后,你想更改超链接并通过它开始筹款,你会一次又一次地覆盖同一个函数,这会给团队造成误解好的代码就是这样,你的团队可以很容易地理解你在其中做什么。即使在这里,您也覆盖了超链接,但是如果您通过表单将数据传递给json调用等,那么整个序列化将在那里工作。。提交表单,然后开始筹款。您可以更改整个页面或在该表单的成功功能上加载另一个页面,以便链接通过该页面。。你不需要重写子集哦,我明白了,很高兴知道,谢谢。Atm我是一个人,后端处理的大部分内容都由CMS处理,这是一个问题,因为访问这个html文档要花很长时间,它将解决我99%的问题。他们正在使事情变得比需要的更复杂。再次感谢你的解释,我会记住这一点。