2012-06-09 89 views
2

我有一個函數,它使用緩存元素(el)更改字體大小2 divs。當函數執行時,我需要確定字體不是太小或太大,取決於它是哪個div(tagCommontagLatin)。那麼如何在函數中確定哪個元素通過el傳遞給它?jQuery緩存元素

我想我可能已經在考慮這個或者做錯了,它有點像我黑客它在......並且通常當它覺得有什麼不對勁的時候。

var cb    = $('#tagCommon'); 
var lb    = $('#tagLatin'); 
changeFontSize(cb,1,'up'); 

function changeFontSize(el,amount,UporDown){ 
    var size = parseFloat($(el).css("font-size").replace(/px/, "")); 
    // do some stuff here 

    // ???????? 
    if(el == $('#tagCommon')) //check font size and alert if too small 
    if(el == $('#tagLatin')) //check font size and alert if too small 
} 

謝謝你的時間。

託德

回答

1
function changeFontSize(el,amount,UporDown){ 
    var size = parseFloat($(el).css("font-size").replace(/px/, "")), 
     id = el.attr('id'); // or el[0].id 

    if(id == 'tagCommon') //check font size and alert if too small 
    if(id == 'tagLatin') //check font size and alert if too small 

    // OR 
    if(id == 'tagCommon') 
    if(id == 'tagLatin') 

    // OR 
    if(el.is('#tagCommon')) 
    if(el.is('#tagLatin')) 
} 

.attr('id')將檢索的ID和匹配提供一個

.is()匹配組針對一個選擇器,元件,或jQuery對象元件。返回值布爾值true/false。

3

使用jQuery is()方法

檢查當前匹配組針對一個選擇器,元件, 或jQuery對象元素,並且如果這些元素中的至少一個 匹配給定返回true參數。

if(el.is('#tagCommon')) 
    { 
     // your code here 
    }