Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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
Javascript 如何获取具有特定元素的上一个元素?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何获取具有特定元素的上一个元素?

Javascript 如何获取具有特定元素的上一个元素?,javascript,jquery,html,Javascript,Jquery,Html,我需要为前一个元素选择包含特定元素的元素。 很难理解让我这样解释 HTML(DOM): 这不是最漂亮的,但它选择了元素并添加了一个类 jQuery解决方案 $(“a”)。在(“单击”)上,函数(事件){ event.preventDefault(); $(this.parent().prevAll().find(“.selectThis”).css({“background”:“gold”}); }); 这不是最漂亮的,但它选择了元素并添加了一个类 jQuery解决方案 $(“a”)。在(

我需要为前一个元素选择包含特定元素的元素。 很难理解让我这样解释

HTML(DOM):


这不是最漂亮的,但它选择了元素并添加了一个类

jQuery解决方案

$(“a”)。在(“单击”)上,函数(事件){
event.preventDefault();
$(this.parent().prevAll().find(“.selectThis”).css({“background”:“gold”});
});


这不是最漂亮的,但它选择了元素并添加了一个类

jQuery解决方案

$(“a”)。在(“单击”)上,函数(事件){
event.preventDefault();
$(this.parent().prevAll().find(“.selectThis”).css({“background”:“gold”});
});

您可以

 $('.fromThis').parent().prevAll().find('.selectThis');
从div的级别中,您将选择该级别上所有以前的同级(即其他div)。然后使用
选择this
类选择div的所有后代。因此,它不仅需要从这个
中选择on元素或最接近
的元素,而且还需要选择一整套元素(如果有更多的元素)

如果只选择最接近原始元素的元素很重要,则必须按如下方式扩展表达式:

 $('.fromThis').parent().prevAll().find('.selectThis').last();
你可以

 $('.fromThis').parent().prevAll().find('.selectThis');
从div的级别中,您将选择该级别上所有以前的同级(即其他div)。然后使用
选择this
类选择div的所有后代。因此,它不仅需要从这个
中选择on元素或最接近
的元素,而且还需要选择一整套元素(如果有更多的元素)

如果只选择最接近原始元素的元素很重要,则必须按如下方式扩展表达式:

 $('.fromThis').parent().prevAll().find('.selectThis').last();

我的解决方案是:先找到第一个父级,然后找到所有的兄弟级,然后对类进行筛选:

$('.fromThis').parent().siblings().find('.selectThis')

我的解决方案是:先找到第一个父级,然后找到所有的兄弟级,然后对类进行筛选:

$('.fromThis').parent().siblings().find('.selectThis')

他们俩在某个地方有共同的祖先吗?然后你可以使用Nestest()遍历到所说的祖先,并使用find()以selectThis元素为目标。是的,但必须找到上一个。它们是否在某个地方共享一个祖先?然后,你可以使用最近的()遍历到所说的祖先,并使用find()以selectThis元素为目标。是的,但必须找到上一个元素我想你是指prevAll()而不是prev()我想你是指prevAll()而不是prev()