Jquery-有没有一种更短的方法来获取这个属性?
下面是我用来获取属性的jquery:Jquery-有没有一种更短的方法来获取这个属性?,jquery,Jquery,下面是我用来获取属性的jquery: var numeroBat = $(this).parents('td').children('h3').attr('name'); HTML: <td><h3 name="b0">Title</h3> <ul><li>THIS.... 标题 这个。。。。 我的命令很大,我相信还有一条更漂亮、更短的路?我想这是你能得到的最短的: var name = $(this).closest("td")
var numeroBat = $(this).parents('td').children('h3').attr('name');
HTML:
<td><h3 name="b0">Title</h3>
<ul><li>THIS....
标题
- 这个。。。。
我的命令很大,我相信还有一条更漂亮、更短的路?我想这是你能得到的最短的:
var name = $(this).closest("td").children("h3:first").attr("name");
我对它做了一些改动,以确保它只选择了一个家长“td”(最近的一个)和一个h3孩子(第一个)
.closest(“td”)
沿着父链向上移动,并找到第一个
标记.children(“h3:first”)
获取作为子项的第一个
标记
如果可以假定
中只有一个
标记,则可以执行以下操作:
var name = $(this).closest("td").find("h3").attr("name");
或者这个:
var name = $(this).closest("td").children("h3").attr("name");
.find()
和.children()
之间的区别在于.find()
将在
中的任何位置找到
,但是.children()
只查看
的直接子级。如果您的标记将来会有一点变化,那么其中一个标记会更灵活,而另一个标记则会更严格地指定查找位置。由你决定哪一个更好
显然,这与您最初的提议没有太大的不同,但没有其他方法。您必须执行一个操作才能向上查找相应的父级,一个操作才能向下查找
,还有一个操作才能获得所需的属性。我认为这是您可以获得的最短操作:
var name = $(this).closest("td").children("h3:first").attr("name");
我对它做了一些改动,以确保它只选择了一个家长“td”(最近的一个)和一个h3孩子(第一个)
.closest(“td”)
沿着父链向上移动,并找到第一个
标记.children(“h3:first”)
获取作为子项的第一个
标记
如果可以假定
中只有一个
标记,则可以执行以下操作:
var name = $(this).closest("td").find("h3").attr("name");
或者这个:
var name = $(this).closest("td").children("h3").attr("name");
.find()
和.children()
之间的区别在于.find()
将在
中的任何位置找到
,但是.children()
只查看
的直接子级。如果您的标记将来会有一点变化,那么其中一个标记会更灵活,而另一个标记则会更严格地指定查找位置。由你决定哪一个更好
显然,这与您最初的提议没有太大的不同,但没有其他方法。您必须执行一个操作才能向上查找相应的父级,一个操作才能向下查找
,还有一个操作才能获得所需的属性。下面是我对上述问题的解决方案:
$("h3[name]").attr("name");
这将使用jQuery的CSS选择器来搜索具有属性name
的元素h3
。当它找到这样一个元素时,如您自己的示例中所述,您可以使用.attr(“name”)返回属性值代码>
您还可以在“td”元素前面加上前缀,以获得以下示例:
$("td h3[name]").attr("name");
希望这就是您所寻求的。在此,我对上述问题的解决方案:
$("h3[name]").attr("name");
这将使用jQuery的CSS选择器来搜索具有属性name
的元素h3
。当它找到这样一个元素时,如您自己的示例中所述,您可以使用.attr(“name”)返回属性值代码>
您还可以在“td”元素前面加上前缀,以获得以下示例:
$("td h3[name]").attr("name");
希望这就是你想要的。什么是$(这个)
?你的出发点在哪里?只有上面的代码,->NO:DIf在td
中只有一个h3
,你就可以做$(this).最近('h3').attr('name')代码>@SaeedNeamati这是,那是在之后,我写的:)@TamilVendhan-h3标签不是“this”所在位置的父项,所以你的建议不起作用.closest()
只看父母。什么是$(这个)
?你的出发点在哪里?只有上面的代码,->NO:DIf在td
中只有一个h3
,你就可以做$(this).最近('h3').attr('name')代码>@SaeedNeamati这是,那是在之后,我写的:)@TamilVendhan-h3标签不是“this”所在位置的父项,所以你的建议不起作用.closest()
只看父母。哇,太好了!很漂亮,很短!太棒了!很漂亮,很短!Thx很多