Jquery获取无序列表行项的文本
Jquery get text of unorder list line items
我试图在无序列表中获取列表项的文本值,当项目被单击时。
我已经添加了一个事件侦听器,并在进一步操作之前将结果记录到控制台。
当我按类选择时,我只收到一个行项目,但无论你点击哪个链接,它都显示相同的链接文本。我尝试使用.eq()
, this
和其他一些方法,但无论哪种方式,我要么返回所有4个元素,要么不返回元素
<div id="mapSelections">
<ul>
<li>Jump to State : </li>
<li id="Conn" ><a href="#">Connecticut</a> |</li>
<li id="Maine"><a href="#">Maine</a> |</li>
<li id="Mass"><a href="#">Massachusetts</a> |</li>
<li id="Rh"><a href="#">Rhode Island</a> |</li>
<li id="Home"><a href="#">Home</a></li>
</ul>
下面是监听器:
var link = document.getElementById('mapSelections');
link.addEventListener('click', function () {
var text = $("li:eq()", this).text();
console.log(text);
});
简介
你要做的事情叫做事件委托。您希望从父<div>
中侦听从子<a>
标签中冒出来的事件。
你可以通过使用jQuery的.on()
函数来委托事件:
var link = document.getElementById('mapSelections');
$(link).on('click', 'a', function () {
var text = $(this).text();
//console.log(text);
alert(text);
});
这里是更新的小提琴
基本上你有两个选择:
多个听众$("#mapSelections a").on('click', function () {
var text = $(this).text();
alert(text);
});
这很好,但是您将事件侦听器绑定到几个元素(每个<a>
标记一个侦听器)。每个选项都有一些开销,所以它不是您可用的性能最佳的选项。
$("#mapSelections").on('click', 'a', function () {
var text = $(this).text();
alert(text);
});
在我看来,这是最好的,因为你节省了应用程序的一些资源。您只将一个侦听器绑定到父$("#mapSelections")
,然后该元素等待仅从子<a>
标记中冒出的事件。
像这样?http://jsfiddle.net/q8nzR/1/
我刚刚编辑了几行jQuery:
$('#mapSelections a').on('click', function () {
var text = $(this).text();
console.log(text);
//alert(text);
});
您的问题是,THIS不是指单个a,而是指整个div#mapSelections
您应该将处理程序绑定到LI
,而不是整个DIV
。
$("#mapSelections li").click(function() {
var text = $(this).find("a").text();
console.log(text);
});
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- ng在下拉列表和文本区域提交
- 如何在剑道下拉列表中按文本和值搜索
- 如何在ReactJs中链接下拉列表和文本区域
- 使用 jQuery 从下拉列表中获取所选文本
- 根据用户从下拉列表中的选择显示多个文本框
- 如何在jquery中获取列表项的最顶端父项的文本
- 如何在下拉列表更改时自动填充mysql查询结果中的文本框值
- 如何按骨干.js打印“此”列表项的文本
- 从文本文件js中读取列表
- 使用两个下拉列表的值填充文本框
- 如果没有从下拉列表中选择任何值,则允许使用php、mysql、javascript将文本框添加到mysql表中
- 将文本框/单选按钮/和下拉列表中的信息添加到dataTable
- Meteor:从Twilio获取SMS文本列表,并将它们插入mongoDB
- 将URL的文本列表转换为可点击的HTML链接
- 生成重新格式化的文本列表
- 为什么ava在比较对象列表和对象文本列表时失败
- 如何在用户在文本列表中键入单词时突出显示JSON字典中的单词,并在表单提交时用它们的描述替换它们
- 更改图像链接悬停在文本列表