2

嗨,我已经编写了这段代码来获取 3 个参数并分配给变量。现在我想将我通过参数获取的文本附加到 div fontdiv 怎么做?

这是我尝试过的..

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;
};
4

4 回答 4

3

如果您的text参数已经有文本

$("#fontdiv").append(text);    // append text into fontdiv
于 2013-05-22T12:27:13.947 回答
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;
};
于 2013-05-22T12:30:23.937 回答
0

如果 text 的值已经设置(而且看起来是这样),请使用:

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

它应该工作。

于 2013-05-22T12:33:16.387 回答
-1

代替

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

$('body').append(elem);
于 2013-05-22T12:23:44.153 回答