将jquery中的$(this)选择器与另一个嵌套选择器一起使用
Using $(this) selector in jquery with another nested selector
使用$(this)
时,指定嵌套选择器的最佳方式是什么?
在本例中:
$('.example').each(function() {
var url = $(this).attr('href');
});
url
将返回undefined
,因为它将首先期望一个'a'
选择器。所以理想情况下,我想说:
var url = $(this, 'a').attr('href');
但这不起作用,以下按预期工作,但看起来不太整洁:
$('.example').each(function() {
var link = $(this).find('a');
var url = $(link).attr('href');
});
那么如何正确地将$(this)
和'a'
一起使用呢?
注意:我知道以下内容会起作用,但不是为了我的问题。
$('.example > a').each(function() {
var url = $(this).attr('href');
});
使用:
$(this).find('a').attr('href');
(这应该是一个注释,但我需要更多的代码空间)
当你说
它预计首先会有一个"a"选择器
你说"它"到底是什么意思?那里没有什么"期望"任何东西。任何元素(理论上)都可以具有href
属性。
另外,你的HTML看起来怎么样?如果是
<a class="example" href="#">...</a>
那么只有你的第一个例子有效,其他的都不行。你的其他例子都期待
<div class="example"><a href="#">...</a></div>
这反过来又不适用于第一示例。
到底是什么问题?如果$(this).attr("href")
返回undefined,那么您可以很容易地进行检查。你能给出一个具体的用例吗?
相关文章:
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 在类JavaScript选择的另一个元素中选择一个标记元素
- 为什么JQueryshow()函数只对带有选择器的一个(而不是所有)元素起作用
- 禁用选择/复选框 当选择/选中另一个时
- 根据使用php和javascript选择的另一个动态下拉框禁用下拉框
- 在一个页面中选中一个复选框 自动选择 在另一个页面中使用 PHP,JavaScript
- 如何选择与另一个表格单元格有某种关系的某个表格单元格
- 根据下拉表单选择在另一个页面上加载 Div 中的数据
- jQuery填充的日期选择器有一个月不同步
- 动态添加下拉菜单,并根据一个下拉菜单中的选择在另一个下拉列表中选择选项
- Adobe Acrobat:使用组合框(下拉)选择更改另一个字段
- jQuery日期选择器上一个和下一个按钮没有显示,如何指向css中的主题文件夹图像
- 如何提供日期选择器,该日期选择器包含一个可选择的日期、月份和年份选项
- 给jquery选择器指定一个smarty变量
- 如果选择了另一个选择菜单的值,则显示隐藏的选择菜单
- Javascript镜像下拉选择在另一个下拉列表中
- 自动完成选择:调用另一个函数
- 如果选择了另一个li,则设置字体粗细
- 随时日期选择器添加一个清除按钮
- 如何检查某个用户是否已经选择了另一个用户即将选择的项目