单击按钮运行功能和addClass

时间:2014-09-01 16:40:03

标签: javascript jquery twitter-bootstrap

我正在尝试在单击按钮时将类添加到引导模式。除了只有一个用JSON内容填充的模态之外,没什么好看的。为了使我的脚本正常工作,我需要在模态中添加一些标识符,以便脚本知道哪个模式是打开的。

模态看起来像这样:

<div data-show="false" data-width="800" tabindex="-1" aria-hidden="false" role="dialog" class="modal fade in" id="shop-modal">
    <div class="modal-dialog modal-lg">
      ... content from JSON ...
      </div> 
    </div> 

模态打开如下:

<a data-vid="123456" data-handle="link-to-product.html" class="trigger-cart" href=""></a>

 $('.trigger-cart').click(function(e){
    e.preventDefault();
    var $this = $(this);
    var url = $this.data('handle') + '/?format=json';
    var vid = $this.data('vid');
    quick_shop(url, vid);
  });

点击按钮时触发的功能是:

function quick_shop(url, vid){

  $('#shop-modal').addClass(vid);

$.getJSON(url, function (data){
  $('#shop-modal').modal('show');
   // do stuff....

我尝试做的是将vid作为类添加到打开的模态中。当我尝试使用$('#shop-modal').addClass(vid);时,我也试过这样的东西:

$('#shop-modal').modal('show').addClass(vid);

这不起作用。有谁知道怎么做?

1 个答案:

答案 0 :(得分:1)

根据您的评论:

  

好的,但是vid就像123456.为什么addClass(vid)不能用呢?这有用,addClass(''+ vid +'')

听起来你正在向addClass传递一个数字,但addClass需要一个字符串。这就是addClass(''+123456+'')工作但不是addClass(123456)的原因,在数字类型的任何一侧使用空字符串将其强制为字符串。

如果你改为addClass((vid).toString()),它也可以。虽然,我还要提到只使用一个数字作为类名is not valid