2012-04-15 9 views
0

オプションを別の関数に渡すだけで、Twitterのブートストラップスタイルの要素を生成するスクリプトを作成しようとしています。この例では、送信ボタンを生成しています。2つのHTML要素を作成し、jQueryで入れ子に入れ子にする

jQueryは1つの要素をレンダリングできるようですが、そのように入れ子にすることはできません。

このアプローチの代替手段はありますか?

var $form_actions = $('<div/>', { 
    'class' : 'form-actions', 
    'text' : $button 
}); 

return $form_actions; 

$ボタンは、jQueryの要素(HTMLのではないちょうど束)を保持している:あなたがここにそれを作った頃には

function renderButton(buttonText, buttonType, buttonName){ 
    if(buttonType == 'submit'){ 
     var $button = $('<input/>', { 
      'type' : 'submit', 
      'name' : buttonName, 
      'value' : buttonText, 
      'class' : 'btn submit' 
     }); 
    } 
    var $form_actions = $('<div/>', { 
     'class' : 'form-actions', 
     'text' : $button 
    }); 

    return $form_actions; 
}; 

renderButton('Go!', 'submit', 'buttonGo').insertAfter('#a'); 

答えて

1

textとして直接割り当てることはできませんが、次のように追加することができます。

var $form_actions = $('<div/>', { 
    'class' : 'form-actions' 
}); 

$form_actions.append($button); 

return $form_actions; 
+0

素晴らしいです。このソリューションは、私がchaining .append($ innerElement)を保つことができるため、さらに洗練されています。どうもありがとう –

関連する問題