单击按钮运行函数并添加Class

Click button run function and addClass

本文关键字:添加 Class 函数 按钮 运行 单击      更新时间:2023-09-26

当单击按钮时,我正试图将一个类添加到引导模式中。除了只有一个模态填充了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);

这行不通。有人知道怎么做吗?

基于您的评论:

好的,thx,但视频是123456。为什么addClass(vid)不起作用?这是有效的,addClass("+vid+")

听起来像是在向addClass传递一个数字,但addClass需要一个字符串。这就是为什么addClass(''+123456+'')有效而addClass(123456)无效的原因,在数字类型的两侧使用空字符串会迫使它成为字符串。

如果你改为addClass((vid).toString()),它也会起作用。尽管如此,我还必须提到,仅仅使用一个数字作为类名是无效的。