我要完成的工作是按其数据类型在Feed中隐藏一个用户的所有活动流帖子。我可以通过这种结构区分使用CSS的用户帖子

.joms-stream.joms-embedly--left.joms-js--stream > div > div > a > img[data-author="921"] {
display: none !important;


}

我如何在jQuery或javascript中使用一系列(this.parent)隐藏整个流项目?先感谢您。

最佳答案

您的问题可以通过使用.parents(selector).last()代码解决:

例如:

$("img[data-author="921"]").parents(".joms-stream.joms-embedly--left.joms-js--stream")
    .last().hide();


此代码有效,因为jQuery从.parent(selector)从最上到最外返回父列表,因此使用.last()将选择父数最多。

或者,如果您确定.joms-stream.joms-embedly--left.joms-js--stream在嵌套中不会出现两次(您应该非常肯定,因为您正在使用>进行选择),则可以使用.closest(selector)方法,该方法将选择最接近的匹配项从元素:

$("img[data-author="921"]").closest(".joms-stream.joms-embedly--left.joms-js--stream")
    .hide();


附言$(jqueryElem).hide()等效于$(jQueryElem).style("display", "none")elem.style.display = "none",因为您似乎对jQuery很陌生。

09-20 01:03