亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
javascript - JS獲取頁面可視化元素
迷茫
迷茫 2017-04-10 14:27:33
[JavaScript討論組]

現(xiàn)在想通過JS獲取頁面上看得見的元素(可視化元素)。

初步做法是遍歷頁面所有節(jié)點,根據(jù)一定條件判斷元素是否為可視化元素。

我的想法有兩個:

  1. 通過一定條件篩選可視化元素

  2. 通過一定條件剔除非可視化元素

其實兩者差別可能不會太大,判斷條件也會存在一些交集,我先說說兩者區(qū)別:

第一種入手比較困難(我現(xiàn)在能想到的就是枚舉可視化元素,再判斷它們的一些屬性如display、visibility等),因為可視化元素具備的特征很多,所以整個判斷條件可能會很復(fù)雜。但是優(yōu)點在于,只要符合條件的元素就一定是可視化元素。

第二種和第一種其實也差別不大,但是思考起來比較好入手,首先CSS屬性display為none、visibility為hidden的元素就可以剔除,script、noscript等標(biāo)簽也可以剔除,還有一些如input[type="hidden"]的元素,但是實際上,要做到準(zhǔn)確篩選,也很不容易。所以它的缺點在于,篩選條件必須足夠嚴格,否則剔除不徹底的話,篩選結(jié)果可能就會慘雜非可視化元素。

其實還有一些特殊條件,譬如說被一些元素被浮動元素全部遮擋了,那這個元素也應(yīng)該被剔除。


其實個人覺得用JS獲取可視化元素這個思路本身就不靠譜,如果想要對可視化元素展開業(yè)務(wù)操作的話,是可以通過動態(tài)捕捉事件的觸發(fā)元素來實現(xiàn)的。
但是這個坑已經(jīng)挖了,就想在SF上聽聽大家的看法。請輕噴。

迷茫
迷茫

業(yè)精于勤,荒于嬉;行成于思,毀于隨。

全部回復(fù)(2)
大家講道理

如果說被遮擋的也要算成看不見的,那么答案就是做不到

我有圖片本身形狀任意的png圖片擋一層
我有隨便亂畫的canvas擋在上面擋一層
我有css3 animation導(dǎo)致opacity一會1一會兒非1的元素。位置也可以動來動去
我可以用border來遮擋,也可以用text-shadow box-shadow 來遮擋

那么某個像素到底有沒有被遮擋呢? god only knows
那么你的元素里這么多個像素是否均被遮擋呢? god only knows

至于其他情況一切好談,去挖jQ的:visible代碼就好

PHP中文網(wǎng)

jQuery(':visible') ?

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號