2013-05-22 156 views
1

嗨,我寫了這個代碼,以3個參數,並分配給variable.now我想我得到throughparameter到div的fontdiv 如何做到這一點的文字追加?如何將文本追加到div的

這是我曾嘗試..

function getTextWidth(text, fontname, fontsize) { 
    var elem = '<div id="fontdiv" style="position: absolute;visibility: visible;height: auto;"></div>'; 
    $('body').append($(elem)); 
    var fontdiv = document.getElementById('fontdiv'); 
    fontdiv.style.fontSize = fontsize; 
    fontdiv.style.fontFamily = fontname; 
    $("#fontdiv").html($('text').val()); 
    return fontdiv.clientWidth; 
}; 
+1

什麼是$('text').val()'? –

+0

我將文本參數的值附加到字體div ....是否正確? – milano

+0

No..just use'$(「#fontdiv」)。html(text);' –

回答

0

如果文本的值設置已經(和它似乎是),用途:

$("#fontdiv").append(text); 

,它應該工作。

+1

哦,對不起,已經以完全相同的方式回答了。 +1 pXL! – xShirase

0

更換

$('body').append($(elem)); 

$('body').append(elem); 
+0

什麼是$('text').val(); – Gautam3164

+2

你爲什麼要這麼做? [append](http://api.jquery.com/append/)接受一個jQuery元素作爲參數。這不是一個答案。 –

+0

因爲他從elem中得到了html,所以他需要將html附加到body裏 – Gautam3164

2

如果您text PARAM已經有文本

$("#fontdiv").append(text); // append text into fontdiv 
+0

還是添加:'$( 「#fontdiv」)HTML($( 「#fontdiv」)HTML()+ someValidHTML);' –

+0

或'$( 「#fontdiv」)追加(文本)'? –

0

使用

function getTextWidth(text, fontname, fontsize) { 
    var elem = '<div id="fontdiv" style="position: absolute;visibility: visible;height: auto;"></div>'; 
    var el = $(elem).append(text); 
    $('body').append(el); 
    var fontdiv = document.getElementById('fontdiv'); 
    fontdiv.style.fontSize = fontsize; 
    fontdiv.style.fontFamily = fontname; 
    $("#fontdiv").html($('text').val()); 
    return fontdiv.clientWidth; 
}; 

另一種方式可能是

function getTextWidth(text, fontname, fontsize) { 
    var el = $('<div>', { 
     id: 'fontdiv' 
    }).css({ 
     position: 'absolute', 
     visibility: 'visible', 
     height: 'auto', 
     fontSize: fontsize, 
     fontFamily: fontname 
    }).append(text).appendTo('body'); 
    return el.get(0).clientWidth; 
};