2013-03-15 41 views
0
element.append('<div class="' + used_class + '"/>'); 

我的JavaScript知識不是太好。JS變種

我在這個問題上搜索了答案,但什麼也沒找到。

是否有一個JavaScript的方式,插入used_class變種不同的語法,最好是短的?與node.js.中的#{used_class}一樣。

+0

我對這個問題感到困惑。你想動態地添加一個類到這個特殊的div嗎? – 2013-03-15 18:39:30

+0

@Steve只要你記住「$」符號(jQuery),並且你沒有真正使用'element'(除非它存儲了一個jQuery選擇器),你的示例應該可以工作。我沒看到什麼嗎? – VoidKing 2013-03-15 18:39:37

+0

@VoidKing我認爲他正在尋求一種更清晰的語法來表達他在做什麼,而不是說它不起作用 – 2013-03-15 18:40:51

回答

3

不是。你可以(用jQuery),雖然這樣做:

$('<div/>').appendTo($element).addClass(used_class); 

$('<div/>').appendTo($element)[0].className = used_class; 
  • $元素可以指一個或一個DOMElement jQuery對象。
1

幾個方法來獲取使用jQuery ....

試試這個

element.append($('<div>').attr('class',used_class)); //using attr() 

element.append($('<div>').addClass(used_class); //using addClass 

element.append($('<div>',{ 'class' : used_class }); 
1

有沒有BU ILT-在類似的功能到Python format或php "$var"語法,但它很容易寫你自己的,例如:

function format(str, args) { 
    return str.replace(/{(\w+)}/g, function($0, $1) { 
     return args[$1] || '' 
    }) 
} 

用法:

message = format("{foo} {bar}", { 
    foo: 'hello', 
    bar: 'world', 
}) // "hello world" 
0

有沒有「短」的語法達到預期結果,但有幾個更好的選擇。例如,你可以使用addClass()功能,或prop()

$('<div />').addClass(used_class); 
$('<div />').prop('class', used_class); 
0

你的代碼看起來很好,但你也可以試試這個

var div = $('<div/>', { 
    'class' : used_class, 
    'id' : 'someId' 
}); 
$('#anElement').append(div); 

An Example.