[英]Change div background color on link click
当我单击div中的链接时,我试图更改div的背景颜色,这是可行的,但是我希望该链接是真实的链接,也许链接到另一个页面,并且我似乎无法使用此现有代码来完成此操作。 (我知道这是以类似的方式提出的,但是我的最终结果与其他代码段不同)
<style>
#DIVi {padding:20px;}
#DIVi:target{background:#CCC}
</style>
<div id="DIVi"><a href="#DIVi">This is a link - Click me</a></div>
上面是一个JavaScript想法的练习代码段,该代码段与HTML代码段基本相同,只是“ i”(DIVi)是“ for”循环中的一个递增变量。
这是无法使用的javascript:
<script type="text/javascript">
var i=0;
function increase(){
html += '<style>
#DIV' + i + '{padding:20px;}#DIV' + i + ':target{background:#ccc} </style><div id="DIV' + i + '"><a href="#DIV' + i + '">This is a link - Click me</a></div>';
i++;
}
</script>
我的问题是“如何使HTML链接成为真正的链接(可能是URL),以及如何在我的JavaScript示例中使用生成的HTML”?
也许有更好的方法可以实现这一目标。 这是JSFiddle: http : //jsfiddle.net/Rv5qG/23/
可以尝试一个更简单的JQuery:
$(function() {
$('a').click( function() {
$($(this).parent()).css('background-color', '#ccc');
});
});
参见示例小提琴: http : //jsfiddle.net/ddan/Rv5qG/29/
如果要在href中使用URL(而不是脚本化的onClick),则在单击该锚点时,浏览器将导航到href中包含的URL并刷新页面(可能会完全离开您的网站)。
实际上,这会留下锚标记以及您可能尝试应用的所有可能样式。
如果该链接为“ http://www.google.com ”,请这样考虑,您是否希望自己的样式适用于着陆的页面?
您是否希望通过单击确保将浏览器保留在您的站点上,从而避免导航到该URL,因为您想确保该对象看到的背景颜色变为灰色?
您可以更改捕获和编码的事件的样式,并控制和保留在自己的应用程序中,这仅需要一些JavaScript,一些CSS类名和一些思想。 您不能真正改变其他网站的样式,也不应阻止标准的浏览器功能/浏览器导航,因为这确实使人们感到困惑。
如果要使用JavaScript,可以执行以下操作:
<html>
<head>
<style>
#DIVi {padding:20px;}
#DIVi:target{background:#CCC}
</style></head>
<body>
<div id="DIVi"><a href="#DIVi" onclick="CHANGE()">This is a link - Click me</a></div>
<script>
function CHANGE()
{document.getElementById("DIVi").style.background-color="#ccc"}
</script>
</body></html>
单击链接时,这会将DIVi更改为#ccc颜色。
JSFiddle在这里: http : //jsfiddle.net/n2cb9v68/
这是一个链接-单击此功能。change_color(id){$(“#” + id).css('background-color',“ #ccc”);}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.