2014-09-01 100 views
0

我試圖添加一個類到一個引導模式,當一個按鈕被點擊。除了只有一個使用JSON內容填充的模式外,沒有什麼特別之處。爲了讓我的腳本正常工作,我需要在模式中添加一些標識符,以便腳本知道哪個模式是打開的。點擊按鈕運行功能和addClass

的模式是這樣的:

<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); 

這是行不通的。有誰知道這是怎麼做到的嗎?

+0

@JoshCrozier:好的thx但'vid'就像'123456'。爲什麼不addClass(vid)的作品呢?這雖然工作,'addClass(''+ vid +'')' – Meules 2014-09-01 16:52:56

+0

@JoshCrozier:我不想添加VID作爲類,但123456 – Meules 2014-09-01 16:54:54

+0

你是對的。我讀*「我試圖做的是從字面上添加'vid'作爲一個類」*「。值得注意的是,以數字開頭的CSS類是無效的 - http://stackoverflow.com/questions/448981/what-c​​haracters-are-valid-in-css-class-selectors – 2014-09-01 17:13:32

回答

1

基於您的評論:

好THX但VID是一樣的東西:123456爲什麼不addClass(VID)的作品呢?這雖然,addClass(''+ vid +'')

這聽起來像你傳遞給addClass一個數字,但addClass需要一個字符串。這就是爲什麼addClass(''+123456+'')有效,但不是addClass(123456),在數字類型的任一側使用空字符串將它強制爲字符串。如果你做了addClass((vid).toString()),它也可以。儘管如此,我還必須提及僅使用一個數字作爲類名稱is not valid