如何使用jQuery在另一个元素中定位元素

如何使用jQuery在另一个元素中定位元素,jquery,button,next,siblings,closest,Jquery,Button,Next,Siblings,Closest,我想针对网页上特定于元素的容器中的某些 以下是我的情况: 我正试图通过单击按钮“B3”来.show()按钮的B4和B5。 这是我的标记: <tr> <td class="leftSide"> <button class="b1" style="display:inline">B1</button> <button class="b2" style="display:inline">B2</button>

我想针对网页上特定于元素的容器中的某些

以下是我的情况:

我正试图通过单击按钮“B3”来
.show()
按钮的B4和B5。

这是我的标记:

<tr>
  <td class="leftSide">
    <button class="b1" style="display:inline">B1</button>
    <button class="b2" style="display:inline">B2</button>
    <button class="b3" style="display:inline">B3</button>
  </td>
  <td>Some middle-ground content</td>
  <td class="rightSide">
    <button class="b4" style="display:none">B4</button>
    <button class="b5" style="display:none">B5</button>
  </td>
</tr>

是否可以到达右侧容器中的按钮?

您必须考虑路径,如文件夹等

您在
左侧
文件夹中有按钮,希望访问
右侧
文件夹的按钮。因此,从
左侧的
文件夹中,您必须转到父文件夹并从那里开始,如下所示:

$(this).parent().find(".right .b4")

这就像做
。/right/b4

你必须考虑路径,比如文件夹等等

您在
左侧
文件夹中有按钮,希望访问
右侧
文件夹的按钮。因此,从
左侧的
文件夹中,您必须转到父文件夹并从那里开始,如下所示:

$(this).parent().find(".right .b4")
这就像做
。/right/b4

试试这个

我遍历了该元素的祖父母,我将在“.b4”类上执行一个查找,并将显示它

 $( '.b3' ).click(function() {
    console.log($(this).parentsUntil("tr").find(".b4"));
  $(this).parentsUntil("tr").find(".b4").show();
});
Js小提琴 试试这个

我遍历了该元素的祖父母,我将在“.b4”类上执行一个查找,并将显示它

 $( '.b3' ).click(function() {
    console.log($(this).parentsUntil("tr").find(".b4"));
  $(this).parentsUntil("tr").find(".b4").show();
});
Js小提琴

嗨,你可以这样试试

$(函数(){
$('table.b3')。在('click',function()上{
//$(this).parent().nextUntil('rightSide').next().show();
//$(this).parent().find(“.rightSide”).next().show();
//$(this).next('td').next('td').find('.b4').show();
$(this.parent().next('td').next('td').find('.b4.b5').show();
})
});

地下一层
地下二层
地下三层
一些中间立场的内容
B4
B5
地下一层
地下二层
地下三层
一些中间立场的内容
B4
B5

您好,您可以这样试试

$(函数(){
$('table.b3')。在('click',function()上{
//$(this).parent().nextUntil('rightSide').next().show();
//$(this).parent().find(“.rightSide”).next().show();
//$(this).next('td').next('td').find('.b4').show();
$(this.parent().next('td').next('td').find('.b4.b5').show();
})
});

地下一层
地下二层
地下三层
一些中间立场的内容
B4
B5
地下一层
地下二层
地下三层
一些中间立场的内容
B4
B5

它们位于不同的父项下,因此如果要使用
$(this)
获取这些元素,必须首先找到父项。这有点奇怪。如果您解释您的情况,我们可以尝试找到更好的解决方案。它们位于不同的父项下,因此如果您试图使用
$(this)
获取这些元素,则必须首先找到父项。这有点奇怪。如果你解释一下你的情况,我们可以试着找到更好的解决办法。谢谢@JorgeFuentesGonzález。我将处理这个问题并发回。尝试了
$(this.parent().find(“.rightSide.b4”).show()。它在JorgeFuentesGonzálezThanks@JorgeFuentesGonzález不起作用。我将处理这个问题并发回。尝试了
$(this.parent().find(“.rightSide.b4”).show()。@JorgeFuentesGonzálezWell无法解决我需要做的事情,因为我的网页有许多
行,所以您的解决方案会显示页面上的所有B4和B5按钮。这就是为什么我认为我需要使用
(this)
Hi@H.Ferrence,我已经更新了答案,您期望的解决方案非常好。谢谢你@whoami…很奇怪,你的答案在我的脚本中有效,但(在)Kannan的脚本中没有。不过他的作品是中档的。我选择tis作为答案仅仅是因为它解决了我的问题。但这并不能解决我需要做的事情,因为我的网页上有许多
,行,所以您的解决方案会显示页面上的所有B4和B5按钮。这就是为什么我认为我需要使用
(this)
Hi@H.Ferrence,我已经更新了答案,您期望的解决方案非常好。谢谢你@whoami…很奇怪,你的答案在我的脚本中有效,但(在)Kannan的脚本中没有。不过他的作品是中档的。我选择它作为答案仅仅是因为它解决了我的问题。太奇怪了。它在JSFIDLE中工作,但在我的网页上不工作。。。我的错可能是你有更多的dom元素,我想我可以看到其他人解决了你的问题。快乐的密码太奇怪了。它在JSFIDLE中工作,但在我的网页上不工作。。。我的错可能是你有更多的dom元素,我想我可以看到其他人解决了你的问题。快乐编码