Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery-有没有一种更短的方法来获取这个属性?_Jquery - Fatal编程技术网

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")

下面是我用来获取属性的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").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很多