Javascript 单击时如何从链接中获取(记录的)id?
我想在单击Javascript 单击时如何从链接中获取(记录的)id?,javascript,Javascript,我想在单击模式视图类时从href链接获取id(在本例中,我想返回6),但不知道怎么做 我尝试了$this.attr('href')(检查attr函数是否工作),但它返回了未定义的 任何建议,请提前谢谢 <span class="action_item modal-view"> <a href="/admin/sponsoreds/6/edit">Edit Sponsored</a> </span> 假设您使用jQuery: $("span.a
模式视图
类时从href
链接获取id(在本例中,我想返回6),但不知道怎么做
我尝试了$this.attr('href')
(检查attr
函数是否工作),但它返回了未定义的
任何建议,请提前谢谢
<span class="action_item modal-view">
<a href="/admin/sponsoreds/6/edit">Edit Sponsored</a>
</span>
假设您使用jQuery:
$("span.action_item.modal-view").click(function(){
let href = $(this).find('a').attr('href');
console.log(href);
});
.prop()
也应该起作用假设您使用jQuery:
$("span.action_item.modal-view").click(function(){
let href = $(this).find('a').attr('href');
console.log(href);
});
.prop()
也应该起作用您的代码必须是$(this)。查找('a')
$(这)
是单击元素的对象,find('a')
将搜索单击元素内的a
标记。要获取id,您可以执行类似以下操作:查找('a').attr('href').split('/')[3]。在这里,split将分隔您的href
值,并生成一个数组,可以通过其索引访问该数组
$('.modal view')。在('click',函数(e)上{
e、 预防默认值();
console.log($(this.find('a').attr('href'));
console.log($(this.find('a').attr('href').split('/'))[3])
});代码>
您的代码必须是$(this)。查找('a')
$(这)
是单击元素的对象,find('a')
将搜索单击元素内的a
标记。要获取id,您可以执行类似以下操作:查找('a').attr('href').split('/')[3]
。在这里,split将分隔您的href
值,并生成一个数组,可以通过其索引访问该数组
$('.modal view')。在('click',函数(e)上{
e、 预防默认值();
console.log($(this.find('a').attr('href'));
console.log($(this.find('a').attr('href').split('/'))[3])
});代码>
您可以向
标记添加自定义属性,如itemId
,然后根据需要检索它 您可以向
标记添加自定义属性,如itemId
,然后根据需要检索它 通过jQuery我们可以做到
$(document).ready(function(){
$("a").click(function(){
alert("id of the link ="+this.id);
});
});
通过jQuery,我们可以做到这一点
$(document).ready(function(){
$("a").click(function(){
alert("id of the link ="+this.id);
});
});
我看到没有与您附加的HTML代码段相关联的id
。您需要将它与id
关联,以便从DOM访问它
<span class="action_item modal-view">
<a id="anc-id" href="/admin/sponsoreds/6/edit">Edit Sponsored</a>
</span>
如果您的页面中有许多a
标记,请使用类获取更具体的过滤方式-
<span id="parent-id" class="action_item modal-view">
<a class="anc" id="anc-id" href="/admin/sponsoreds/6/edit">Edit Sponsored</a>
</span>
$(document).ready(function(){
$("a.anc").attr("id");
});
检查此项以了解更多信息-我发现没有与您附加的HTML代码段关联的id
。您需要将它与id
关联,以便从DOM访问它
<span class="action_item modal-view">
<a id="anc-id" href="/admin/sponsoreds/6/edit">Edit Sponsored</a>
</span>
如果您的页面中有许多a
标记,请使用类获取更具体的过滤方式-
<span id="parent-id" class="action_item modal-view">
<a class="anc" id="anc-id" href="/admin/sponsoreds/6/edit">Edit Sponsored</a>
</span>
$(document).ready(function(){
$("a.anc").attr("id");
});
查看此项了解更多信息-您可以使用href
上的正则表达式来查找ID。我假设它在下面的答案中始终是一个数字
函数OnTiggerClicked(事件){
//取消对href的导航,否则示例将失败。
event.preventDefault();
常数
//从单击的元素中获取href属性。
href=event.target.href,
//创建与“/”+(一个或多个数字)+“/”匹配的正则表达式。
正则表达式=/\/(\d+)\/,
//在href上执行正则表达式。
match=regex.exec(href);
//当match为null时,表示href不包含一个或多个
//夹在“/”中间的数字
如果(匹配===null){
log('href'中找不到有效ID');
}否则{
//正则表达式找到了一个数字,它位于第一个捕获组中
//因此它可以在匹配数组的第1项中找到。
log('href中的ID为:',regex.exec(href)[1]);
}
}
//使用模态视图类向每个元素添加单击侦听器。
常数
触发器=数组.from(document.querySelectorAll('.modal视图');
triggers.forEach(trigger=>trigger.addEventListener('click',onTriggerClicked))代码>
您可以在href
上使用正则表达式来查找ID。我假设它在下面的答案中始终是一个数字
函数OnTiggerClicked(事件){
//取消对href的导航,否则示例将失败。
event.preventDefault();
常数
//从单击的元素中获取href属性。
href=event.target.href,
//创建与“/”+(一个或多个数字)+“/”匹配的正则表达式。
正则表达式=/\/(\d+)\/,
//在href上执行正则表达式。
match=regex.exec(href);
//当match为null时,表示href不包含一个或多个
//夹在“/”中间的数字
如果(匹配===null){
log('href'中找不到有效ID');
}否则{
//正则表达式找到了一个数字,它位于第一个捕获组中
//因此它可以在匹配数组的第1项中找到。
log('href中的ID为:',regex.exec(href)[1]);
}
}
//使用模态视图类向每个元素添加单击侦听器。
常数
触发器=数组.from(document.querySelectorAll('.modal视图');
triggers.forEach(trigger=>trigger.addEventListener('click',onTriggerClicked))代码>
在这种情况下,您可以使用$(this)获取href
的值。查找('a').attr('href')
,然后您需要拆分返回的uri以获取此数值(id),如
现在id
包含所需的值。在这种情况下,您可以使用$(this)获取href
的值。查找('a').attr('href')
,然后您需要拆分返回的uri以获得此数值(id),如
现在,id
包含所需的值。$这确实是一条路要走。如果使用得当,它应该会起作用。$
让我觉得jquery也参与其中。这可能是由于一些原因,所以您是否可以共享导致此行为的整个代码?该链接是如何生成的?为什么不在span iteself中添加额外的数据-*
,并提供所需信息?@Arvind它是由活动管理员自动生成的(