2016-10-10 139 views
0

我想完成的是通過其數據類型隱藏源中某個用戶的所有活動流帖子。我能夠區分用戶使用後CSS這種結構如何隱藏基於一系列父元素的HTML元素

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

}

我怎麼能隱藏使用jQuery的或JavaScript系列(this.parent)的整個流項目?先謝謝你。

+0

你的意思是,如果元素滿足選擇標準,隱藏最上面的元素? –

+0

是的,就像.parent(img [data-author =「921」])。parent(a).parent(div).parent(div).style.display =「none」 – Brigitte

回答

0

你的問題可以通過使用.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不會在巢穴中出現兩次(因爲你使用> S選擇你應該很確定),你可以使用.closest(selector)方法,該方法將選擇從最接近的匹配元素:

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

PS $(jqueryElem).hide()相當於$(jQueryElem).style("display", "none")elem.style.display = "none",因爲你似乎對jQuery來說很新。

+0

嘿,你能否更新答案$(「img [data-author ='921']」) .closest(「.joms-stream」) .css(「display」,「none」);所以我可以給你答案:)我剛剛嘗試過,它的工作就像這樣。 – Brigitte

+0

@Brigitte完成:) –

+1

感謝你的偉大! – Brigitte