Javascript 获取最近锚定标记的值和href?
我试图根据附近的按钮获取最近的锚标记的值和href链接。如您所见,这是锚定标记和按钮的列表。所以,当点击一个按钮时,我们想要瞄准那个特定的锚定标记。我正在登录以查看名称和href,但显示为空且未定义。我做错了什么Javascript 获取最近锚定标记的值和href?,javascript,jquery,html,Javascript,Jquery,Html,我试图根据附近的按钮获取最近的锚标记的值和href链接。如您所见,这是锚定标记和按钮的列表。所以,当点击一个按钮时,我们想要瞄准那个特定的锚定标记。我正在登录以查看名称和href,但显示为空且未定义。我做错了什么 $(文档).ready(函数(){ $('.input_fields_wrap')。在(“单击”、“.addlink编辑图标”上,函数(e){ e、 预防默认值(); var target=$('.show_字段')。最近('a'); var edit_name=target.tex
$(文档).ready(函数(){
$('.input_fields_wrap')。在(“单击”、“.addlink编辑图标”上,函数(e){
e、 预防默认值();
var target=$('.show_字段')。最近('a');
var edit_name=target.text();
var edit_address=target.attr('href');
console.log('name',edit_name);
console.log('地址',编辑地址);
});
});代码>
文件
编辑
编辑
编辑
函数最近的
使用特定选择器而不是同级查找最近的祖先/父元素
在该标记中,要选择的链接不是按钮的祖先/父级。
此外,必须修改此行:
var target = $('.show_field').closest('a');
+---- This is the current clicked button.
|
| +--- Gets the desired element 'a'
| |
v v
var target = $(this).closest('li').find('a');
^
|
+---- Finds the closest ancestor 'li'.
对此:
var target = $('.show_field').closest('a');
+---- This is the current clicked button.
|
| +--- Gets the desired element 'a'
| |
v v
var target = $(this).closest('li').find('a');
^
|
+---- Finds the closest ancestor 'li'.
另一种方法是查找最近的元素li
,然后查找元素a
$(文档).ready(函数(){
$('.input_fields_wrap')。在(“单击”、“.addlink编辑图标”上,函数(e){
e、 预防默认值();
var target=$(this.nexist('li')。find('a');
var edit_name=target.text();
var edit_address=target.attr('href');
console.log('name',edit_name);
console.log('地址',编辑地址);
});
});代码>
文件
编辑
编辑
编辑
函数最近的
使用特定选择器而不是同级查找最近的祖先/父元素
在该标记中,要选择的链接不是按钮的祖先/父级。
此外,必须修改此行:
var target = $('.show_field').closest('a');
+---- This is the current clicked button.
|
| +--- Gets the desired element 'a'
| |
v v
var target = $(this).closest('li').find('a');
^
|
+---- Finds the closest ancestor 'li'.
对此:
var target = $('.show_field').closest('a');
+---- This is the current clicked button.
|
| +--- Gets the desired element 'a'
| |
v v
var target = $(this).closest('li').find('a');
^
|
+---- Finds the closest ancestor 'li'.
另一种方法是查找最近的元素li
,然后查找元素a
$(文档).ready(函数(){
$('.input_fields_wrap')。在(“单击”、“.addlink编辑图标”上,函数(e){
e、 预防默认值();
var target=$(this.nexist('li')。find('a');
var edit_name=target.text();
var edit_address=target.attr('href');
console.log('name',edit_name);
console.log('地址',编辑地址);
});
});代码>
文件
编辑
编辑
编辑
您需要先使用.nexist('li')
遍历DOM到列表项,然后使用.find('a')
向下遍历到链接。本质上,只要改变:
var target = $('.show_field').closest('a');
到
$(文档).ready(函数(){
$('.input_fields_wrap')。在(“单击”、“.addlink编辑图标”上,函数(e){
e、 预防默认值();
var target=$(this.nexist('li')。find('a');
var edit_name=target.text();
var edit_address=target.attr('href');
console.log('name',edit_name);
console.log('地址',编辑地址);
});
});代码>
编辑
编辑
编辑
您需要先使用.nexist('li')
遍历DOM到列表项,然后使用.find('a')
向下遍历到链接。本质上,只要改变:
var target = $('.show_field').closest('a');
到
$(文档).ready(函数(){
$('.input_fields_wrap')。在(“单击”、“.addlink编辑图标”上,函数(e){
e、 预防默认值();
var target=$(this.nexist('li')。find('a');
var edit_name=target.text();
var edit_address=target.attr('href');
console.log('name',edit_name);
console.log('地址',编辑地址);
});
});代码>
编辑
编辑
编辑
您是否无法针对您的情况使用.nestest()
?我想你误解了。它有最接近的祖先。这就是你用来获取show\u字段
元素的方法(例如,$(this)。最近('.show\u字段')
@mikemcaughan,谢谢你的澄清。你不能在你的情况下使用.closest()
吗?我想你误解了。它得到了最近的祖先。这就是你用来获取show\u字段
元素的方法(例如,$(this)。最近('.show_field')
@MikeMcCaughan,感谢您的澄清。非常感谢,理解最近()是问题。感谢,理解最近()是问题