如何使用Javascript更改href和html文本?
所以我有一小块HTML,我没有访问权限,我需要将它链接的URL改为其他地方 现在我环顾四周,尝试了不同的方法,但似乎不起作用,所以我一定是做错了什么 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
<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%的问题。他们正在使事情变得比需要的更复杂。再次感谢你的解释,我会记住这一点。