如何在返回新div的JQuery函数中编写?

时间:2011-03-15 08:46:25

标签: jquery

如何在返回新div的JQuery函数中编写? (我得到像参数来运行一些对象,基于该对象和属性我需要在div中返回不同的颜色和文本。例如:如果我将FI涂成红色并写入“fire”,如果我得到WI涂成蓝色并写“ watter“)。任何人都可以帮忙

4 个答案:

答案 0 :(得分:3)

function getADiv() {
    return $('<div/>', {
        text: 'hello',
        color: 'red'
    });
}

答案 1 :(得分:2)

嗯那样的?

function makeDiv(type){
    var params;
    if(type == "F"){
        params = {text: "fire", color: "red"};
    }
    else if(type == "W"){
        params = {text: "water", color: "blue"};
    }
    else return null;

    return $("<div>")
        .text(params.text)
        .css("color", params.color);
}

答案 2 :(得分:1)

我的看法:

var newDiv = function(options){
    var html = '<div class="';

    if(options.color == 'R')
        html += 'rubyred';

    html += '">Element: ' + options.element + '</div>';
    return $(html);
};

var myNewDiv = newDiv({ color: 'R', element: 'fire' });

或者,更简单(不那么花哨):

var newDiv = function(letter){
    var $d = $('<div>');

    if(letter == 'F')
        $d.html('fire').css('color', 'red');
    else if(letter == 'W')
        $d.html('water').css('color', 'blue');

    return $d;
};

var waterDiv = newDiv('W');

答案 3 :(得分:0)

这应该这样做:

function createDiv(type) {
    switch (type.toLowerCase()) {
        case 'f':
            return $('<div>').css({ color: 'red' }).text('Fire');
            break;

        case 'w':
            return $('<div>').css({ color: 'blue' }).text('Water');
            break;
    }
}

Live example here.