将引导元素添加到HTML的更好方法?

时间:2015-02-27 17:42:00

标签: jquery html twitter-bootstrap

目前,我已经获得了一些填充警告的代码,最终会出现这样的情况:

$('#alertContainer').html('<div class="alert alert-info alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><strong>Warning!</strong> No valid nodes were found for the path object.</div>');

我无法帮助,但我认为这是一个糟糕的,贫民窟化的解决方案,而且我并没有正确地使用jQuery来创建这个新元素。

那么,有更好,更清洁的方法吗?

1 个答案:

答案 0 :(得分:2)

您可能会尝试将错误代码放在函数或对象中,以便稍微清理脚本并使其更具可读性。

功能方法:

    function warningCodeCustom(noun) {
  var string = '<div class="alert alert-info alert-dismissible" role="alert">';
  string += '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
  string += '<strong>Warning!</strong> No valid ' + noun + ' were found for the path object.';
  string += '</div>';
    return string;
  }

被称为:$('#alertContainer').html(warningCodeCustom('node'));

对象方法: 一个非常简单的对象会破坏代码并且可以提高可读性或以后的调试(可能会不必要地为这个应用程序分解你的功能,但我还是这样做,因为对象非常整洁)。

window.MyError = window.MyError || {};

MyError.Toolbox = MyError.Toolbox || {
  self : this,
  init : function() {
    //trigger the warning code bind
    self.warningCodeBind();
  },
  warningCodeBind : function() {
    //if there are no items on the page add content to our alert container
    if(!jQuery('.validNodes, .orOtherNodes').length) {
      jQuery('#alertContainer').html(self.warningCodeCustom());
    }
  },
  warningCodeCustom : function(noun) {
      var string = '<div class="alert alert-info alert-dismissible" role="alert">';
      string += '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
      string += '<strong>Warning!</strong> No valid ' + noun + ' were found for the path object.';
      string += '</div>';
        return string;
      }
};

jQuery(window).load( function() {
    MyError.Toolbox.init();
});

我不确定您的代码还有什么功能,但.error()功能可能会有用。 Article here