javascript - 如何获取点击事件点击后前一个后一个的值。
问题描述
for (var i = 0; i < pic.length; i++) {pic[i].onclick = function () { var aA = this.getAttribute('href'); return false;} }
已经for循环遍历绑定点击事件,点击图片一的时候,已经可以获取到标签里面href的值(备注:href是A标签里面额跳转链接,return false是为了不跳转),现在我想获取到点击当前图案时候,上一个标签和下一个标签的href的值,让中间图片显示图案一,,左边图案显示图案4,右边图案显示图案2,该如何操作?

问题解答
回答1:for (var i = 0; i < pic.length; i++) { pic[i].index=i; pic[i].onclick = function () {var aA = this.getAttribute('href');//如果当前是第一个,没有上一个,值获取下一个if(this.index===0){ var aANext=pic[this.index-1].getAttribute('href');}//如果当前是最后一个,没有下一个,只获取上一个else if(this.index===pic.length-1){ var aAPrev=pic[this.index-1].getAttribute('href');}//否则上下都获取else{ var aAPrev=pic[this.index-1].getAttribute('href'); var aANext=pic[this.index-1].getAttribute('href');}return false; }}回答2:
谢谢,你这种方法很好,在元素,及相邻的元素设置一个index的属性,我看明白了我现在是这样写的,不过还要出来,如何让点第一个的时候出现第四个图<script>
var pic = document.getElementById(’pic’).getElementsByTagName(’a’);var pid = document.getElementById(’pid’).getElementsByTagName(’img’);for (var i = 0; i < pic.length; i++) { pic[i].onclick = function () {var aA = this.getAttribute('href');var pid = document.getElementById(’pid’);pid.setAttribute('src', aA);var aB = this.parentNode.previousSibling.firstChild.getAttribute(’href’)pid.previousSibling.setAttribute(’src’, aB);var aC = this.parentNode.nextSibling.firstChild.getAttribute(’href’)pid.nextSibling.setAttribute(’src’, aC);
return false; }}
</script>
相关文章:
1. 请问一下用notepad++可以照着你这样来编吗?为什么我用notepad++编辑的时候那个容器那里颜色是黑的,不会像其他变量那样变颜色。2. javascript - 三目运算符的一些问题3. python中生产者消费者线程问题4. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么5. css3 - 这个效果用 CSS 可以实现吗?border-image6. android - 京东移动端网页和其app加载的url所做的呈现不应该是完全一样的吗?7. 请教,关于python字典,合并相同值的键的实现方法8. 输入地址报以下截图错误,怎么办?9. python - 在sqlalchemy中获取刚插入的数据id?10. 站点内容复制额外增加的版权申明,真的很反人类。试问产品自己在用这个站点吗?

网公网安备