JQuery:如何根据点击的内容触发某些事件
JQuery: How to trigger certain events depending on what is clicked?
因此,我显示了一行图像,并且我希望在单击每个图片时显示不同的列表项。这是我迄今为止的演示。
https://jsfiddle.net/OneCodeMan/3975prLy/1/
$("img:nth-child(1)").on('click', function() {
$("#listitem1").text(lines[0]);
});
$("img:nth-child(2)").on('click', function() {
$("#listitem2").text(lines[1]);
});
但这是八张照片。。所以这是太多的代码做所有这些。我也试着做了一个for循环。
for(var i=0; i < lines.length; i++) {
$('img.nth-child(' + parseInt(i+1) +')').on('click', function() {
$("#listitem"+ i+1).text(lines[i]);
})
}
但我犯了一个错误:未捕获错误:语法错误,无法识别的表达式:img.nth child(1)
我该如何解决这个问题?
使用.index()
$("img").on("click", function() {
$("#listitem1").text(lines[$(this).index()]);
});
jsfiddlehttps://jsfiddle.net/3975prLy/3/
您可以使用.index()和.eq()完成它,所以:
$("#shots img").on('click', function() {
var idx=$(this).index();
$("#alcoholpoem li").eq(idx).text(lines[idx]);
});
查看下面的片段
var lines = ['Eight shots later,',
'I still remember your name.',
'I never drank alcohol,',
'For the taste',
'This is text',
'This is text',
'This is text',
'This is text'
];
$("#shots img").on('click', function() {
var idx = $(this).index();
$("#alcoholpoem li").eq(idx).text(lines[idx]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="shots">
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
<img src="http://i.ebayimg.com/00/s/NzUxWDY0MA==/z/PRoAAMXQNbxRfYfj/$T2eC16VHJH!FFmOoS6i!BRfYfi6Vl!~~60_12.JPG?set_id=880000500F" width=100 height=100>
</div>
<ul id="alcoholpoem">
<li id="listitem1"></li>
<li id="listitem2"></li>
<li id="listitem3"></li>
<li id="listitem4"></li>
<li id="listitem5"></li>
<li id="listitem6"></li>
<li id="listitem7"></li>
<li id="listitem8"></li>
</ul>
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 在《春面孔》中,点击事件从何而来
- 无法 socket.io 事件转换为培根事件流
- 如何根据培根中的一些事件流更改切换流
- 培根.js当另一个事件流触发时重新启动缓冲
- 培根.js如何基于另一个属性过滤事件流
- 培根.js是否有一些组合器,允许您同时收集两个发出的事件
- 余烬集成:在根元素上触发单击事件
- 谷歌地图 api v3 德拉根事件在多边形上表现奇怪
- 反应式编程与事件驱动编程有何不同
- 我如何防止事件循环与FRP(和培根.js)
- 快速获取根事件不起作用
- 培根巴士的怪异行为与流事件的结束
- 这三种监听事件的方式的作用域有何不同
- X-Tag 事件委派:访问根元素