1. 程式人生 > >前端框架對頁面的損害+如何判斷一個dom是否存在某個屬性

前端框架對頁面的損害+如何判斷一個dom是否存在某個屬性

目錄

進入主題

  • 今天遇到一個問題就是引發了我對各種前端框架的思考。
  • 首先我個人認為前端js+css框架,多數其實原理是這樣的:
    • 寫頁面的時候使用框架提供的css類。
    • 然後框架通過這些預定義樣式提供美觀的介面。
    • 涉及到功能的則是通過jquery的選擇器根據class選擇到dom元素,然後對dom元素進行操作。
    • 完畢
  • 如上所述,框架會對頁面dom元素進行簡單的修改。

我的經歷

  • 今天我使用框架,使用了框架的dialog,我的dialog中有個checkbox哦。然後我又呼叫相關方法destroy掉dialog之後。發現我的checkbox倒是沒丟,但是checkbox的value屬性沒了(我原始程式碼中checkbox的value是設定了的)。
  • 問題解釋:其實這個問題說明的就是,當框架去把我的某個form或者div修改為dialog的時候肯定對dom進行修改。然後再呼叫方法destroy掉dialog的時候會復原。但是這個復原是如何復原呢?比如A->B,復原是按照一定規則B->C呢?還是B->A呢?我想此處我用的這個框架肯定是根據框架自身形成dialog的規則進行倒回去的操作了一遍,而不是從頁面找到了我原先的dom進行復原。
  • 正好checkbox的value我用到了,鬱悶了好久。

特此記下造福後人

如何判斷一個dom是否存在某個屬性

  • 關於如何判斷一個dom是否存在某個樣式jquery提供了非常遍歷的方法hasClass。
  • 但是卻沒提供方法判斷是否存在某個屬性。
  • 現提供一個方法如下(這個是摘自網路):
    比如我們要判斷a標籤是否包含rel屬性:
    如果存在某個屬性$(“a”).attr(“rel”)會返回 rel的值,如果不存在 rel屬性則會返回”undefined”。
 if($("a").attr("rel")=="undefined")

這個判斷永遠不會不成立。因為型別不相同。undefined 就是 undefined型別。所以改為:

if(typeof($("a").attr("rel")) == "undefined")

typeof是求變數型別。

相關推薦

前端框架頁面損害+如何判斷一個dom是否存在某個屬性

目錄 進入主題 今天遇到一個問題就是引發了我對各種前端框架的思考。 首先我個人認為前端js+css框架,多數其實原理是這樣的: 寫頁面的時候使用框架提供的css類。 然後框架通過這些預定義樣式提供美觀的介面。 涉及到功能的則是通過jquery的選擇

js判斷一個dom中是否包含另一個dom的方法

首先,比較原始(蠢)的方法 function isChildOf(child, parent) { if(child && parent) { let parentNode = child.parentNode; w

判斷一個點是否在某個區域內(多邊形)

背景:     比如滴滴會根據乘客所在的不同區域,給出不同的價格。市區堵一點,那麼價格也高點。獲取服務範圍只規定在某個範圍內 原理:     求解從該點向右發出的水平線射線與多邊形各邊的交點,當交點數為奇數,則在內部。     不過要注意幾種特殊情況:1、點在

java中怎麼判斷一個字串中包含某個字元或字串

var Cts = "bblText"; if(Cts.indexOf("Text") > 0 ) { alert('Cts中包含Text字串'); } indexOf用法:  返回 String 物件內第一次出現子字串的字元位置。         strObj.ind

java 判斷一個字串是否包含某個字元

一、contains方法 1:描述 java.lang.String.contains() 方法返回true,當且僅當此字串包含指定的char值序列 2:宣告 public boolean contains(CharSequence s)3:返回值 此方法返回true,如果

判斷一個點是否在某個區域內。百度,高德,騰訊都能用。(php版)

<?php // *** 配置檔案(表示區域的三維陣列)其內的點,必須按順時針方向依次給出! $area = array( // 天通苑店 0 => array( array('x'=>116.38295, 'y'=>40.094

PHP判斷一個字元是否存在某個字串

$attach2=老螞蟻你妹的支付用的; $attach3=explode("支付用的",$attach2); if(count($attach3)>1){ 存在; }else{ 不存在; } 如果有不清楚的,可以諮詢老螞蟻技術部:1810782306

js判斷一個字串是以某個字串開頭

1.用js判斷一個字串是否是以某個子字串開頭如:ssss001是否以ssss開頭,可以這樣做: var fdStart = strCode.indexOf("ssss"); if(fdStart == 0){    表示strCode是以ssss開頭; }else if(f

如何List集合中的物件進行按某個屬性排序

我們在實際的開發工作中,經常會碰到排序的問題,如題,我們如何針對List集合中的某一個屬性進行排序先舉一個簡單的例子:package test; import java.util.ArrayList; import java.util.List; import java.u

關於前端mvc或mvvm框架數據跟蹤變化實現dom雙向綁定的原理

取值 cti angular 兩個 不同 lar log span 實例 一:最早的框架如backbone,實現對數據的變化監測是通過設置數據模型api。   比如其model對象管理的是數據,而修改這些數據就是通過固定的方法(set)來觸發事件從而更新dom, <

python判斷一個象是否可叠代

span font false rom size iterable print 對象 方法 如何判斷一個對象是可叠代對象? 方法是通過collections模塊的Iterable類型判斷: >>> from collections import

判斷一個象是否存在, 誰更快?if Boolean(obj) then

hive lan tar boolean ref tro log cnblogs strong 判斷一個對象是否存在, 誰更快?if Boolean(obj) then http://www.cnblogs.com/del/archive/2008/03/12/11014

js 關鍵字 in 判斷 一個屬性或方法是否屬於一個

屬於 class .... pan bsp put inpu 註意 元素 判斷對象是否為數組/對象的元素/屬性: 格式:(變量 in 對象)......註意,,,   當“對象”為數組時,“變量”指的是數組的“索引”;   當“對象”為對象是,“變量”指的是對象的“屬性”。

selenium + python自動化測試unittest框架學習(三)webdriver頁面其他控件操作(三)

文件的 文件路徑 內容 option selenium script web 對話 對話框 1.對話框,下拉框 (1)對話框的有兩種,一種是iframe格式的,需要switch_to_iframe()進行定位,現在大部分的對話框是div格式的,這種格式的可以通過層級定位來定

判斷一個象是否為空

func var obj keys str gif alt log png var obj1 = {}; var obj2 = {age:22}; 方法一: function JSON_Stringify(obj){   if(JSON.Stringify(obj) ==

基於Spring開發的一個BIO-RPC框架(小白很友好)

instance 啟動項 jar包 pan 發現 就是 遠程 map 配置 PART1:先來整體看下項目的構成 其中bio-rpc-core就是所謂的rpc框架 bio-rpc-example-client即所謂的服務調用方(你的項目中想要調用服務的地方) bio-rp

React 一個較為完善的前端框架

react 輪播 創建 sem ont 鏡像源 建議 tables 2.0 GitHub地址 預覽地址(已增加響應式,可手機預覽??) 依賴模塊 項目是用create-react-app創建的,主要還是列出新加的功能依賴包 點擊名稱可跳轉相關網站???

判斷一個可滾動元素是否滾動到了底部,將源象合並到目標象中去,判斷是否為字符串

docs == ret 字符 xtend body for 目標 tom function isScrollToBottom(e, fn) { // e.srcElement存在兼容性問題,並非標準特性 // https://developer.mozil

判斷一個象是否為空? js

ava 判斷 scrip 對象 空數組 json 包含 常見 自帶 其實開發過程中常常會遇到判斷對象和數組是否為空?下面介紹3種判斷對象是否為空 1. 最常見的思路,for...in...遍歷屬性,為真則為“非空數組”;否則為“空數組” function judgeObj

判斷一個象是否具有某個屬性

檢測對象中的屬性名判斷一個對象是否具有某個屬性名的方法:只要o.age的值不是 false、數字零(0)、空字符串、空對象、undefined 返回的就是truein運算符的用法:是用來檢測某個對象是否具有某個屬性用的 返回值是: boolean判斷一個對象是否具有某個屬性名