警报单个属性值
alert individual attribute value
我想通过每个元素的name属性来识别它。每个元素都具有相同的类,并且最终将包含不同的动态信息。
例如,我希望以下代码提醒单个元素的名称值:
html:
<p class="pexample" name="0">this is p #1</p>
<p class="pexample" name="1">this is p #2</p>
<p class="pexample" name="2">this is p #3</p>
jquery:
$('p').on('click', function() {
if ($('p').attr('name') !== undefined) {
alert($('p').attr('name'));
}
})
这是一把小提琴。。http://jsfiddle.net/XG7nd/1/
但是,此代码仅提醒初始元素名称值。我们非常感谢您的帮助。
这应该做:
$('p').on('click', function() {
var name = $(this).attr('name');// `this` here refers to the current p you clicked on
if (name ) {
alert(name);
}
})
在执行$('p').attr('name')
时,这将始终为您提供集合中第一个项目的名称。
演示
试试这个:
$(document).on('click','p', function() {
alert($(this).attr('name'));
});
DEMO
您想要使用$(this)
$('p').on('click', function() {
if($(this).attr('name') !== 'undefined') {
alert($(this).attr('name'));
}
});
之所以会发生这种情况,是因为每次单击都会获得第一个<p>
的name
属性。您需要指定事件的来源:
$('p').on('click', function() {
if ($(this).attr('name') !== undefined) {
alert($(this).attr('name'));
}
})
注意,jQuery选择器返回一个匹配元素的数组。必须使用this
关键字来获取当前上下文中元素的句柄。
FIDDLE
说明
即使在click
上,您也要继续查找p
元素,因此它会选择找到的第一个元素。
您的代码说明:
点击p
时:
- 查找
p
元素并提醒其属性
您真正想要的:
点击p
时:
- 提醒单击的元素的属性
解决方案
选择this
的属性,该属性是单击的元素。
JSFiddle
JavaScript
$('p').on('click', function() {
if ($(this).attr('name') !== undefined) {
alert($(this).attr('name'));
}
})
阅读有关this关键字的更多信息。
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 基于单个属性从数组中获取唯一对象
- 主干仅在保存中验证单个属性
- 使用jquery的单个类属性可见性
- 如何在Ember.js中创建一个计算属性来查看单个EmberData属性是否脏
- 下划线分组依据单个方面与嵌套对象属性的比较
- 获取数组角度的单个属性
- 加载类异步的单个属性
- 具有单个属性的引导模式
- 如何在动态创建的元素上设置单个属性
- 从 Javascript 中的对象数组返回单个属性的数组
- 如何将这些函数合并为具有属性的单个函数
- 从 Node.js 中数组中单个对象的单个属性中获取值
- Ember.Object中的多个属性或单个观察者
- 填充字段,该字段是单个查询中嵌入数组的属性
- Javascript-查找属性的单个实例's在对象数组中的值
- AngularJs过滤到单个数组元素并输出一个属性
- 测试对象上的属性是否是单个可观察的(而不是observableArray)
- 从javascript动态修改单个css属性的最有效方法
- 单个Javascript对象属性的多个值