Javascript 如何使用复选框修改HREF?
我正在制作一个带有用户首选项复选框的图像库,当单击缩略图时,该复选框将显示一个大图像或特大图像。页面上有一个表单元素,如下所示:Javascript 如何使用复选框修改HREF?,javascript,Javascript,我正在制作一个带有用户首选项复选框的图像库,当单击缩略图时,该复选框将显示一个大图像或特大图像。页面上有一个表单元素,如下所示: <input type="checkbox" name="targetbox" id="pref" onclick="supersize(this.checked);"> <label for="pref">Supersize Pics</label> <a href="images/large/image1.jpg
<input type="checkbox" name="targetbox" id="pref"
onclick="supersize(this.checked);">
<label for="pref">Supersize Pics</label>
<a href="images/large/image1.jpg"><img src="images/thumbs/image1.jpg" /></a>
超大图片
我还有一个链接和缩略图,如下所示:
<input type="checkbox" name="targetbox" id="pref"
onclick="supersize(this.checked);">
<label for="pref">Supersize Pics</label>
<a href="images/large/image1.jpg"><img src="images/thumbs/image1.jpg" /></a>
给我带来麻烦的部分是JavaScript。以下是迄今为止我所能拼凑的:
<script language="JavaScript">
function supersize(checkme) {
if (checkme)
where = "images/super/";
else
where = "images/large/";
for (var i=0; i<=(document.links.length-1); i++) {
document.links[i].href = where;
}
}
</script>
函数超大小(checkme){
如果(检查我)
其中=“images/super/”;
其他的
其中=“images/large/”;
对于(var i=0;i我建议使用一个简单的replace()
:
当然,这将简单地用super
字符串替换large
字符串,反之亦然
参考资料:
如果知道最后一个值,可以使用replace()
:
document.links[i].href = document.links[i].href.replace("last/value/goes/here/", where);
试试这个功能
hrefLink.lastIndexOf(“/”)+1获取最后一个“/”的位置,.substr()获取图像名称,该名称稍后可以附加到任何您想要的内容中
<script language="JavaScript">
function supersize(checkme) {
if (checkme)
where = "images/super/";
else
where = "images/large/";
for (var i=0; i<=(document.links.length-1); i++) {
hrefLink = document.links[i].href;
imgName = hrefLink.substr(hrefLink.lastIndexOf('/')+1);
document.links[i].href = where+imgName;
}
}
</script>
函数超大小(checkme){
如果(检查我)
其中=“images/super/”;
其他的
其中=“images/large/”;
对于(var i=0;Ifi),人们通常使用i
而不是i