javascript
  • syntax
  • 2012-07-14 49 views 0 likes 
    0
    var testvar = "something"; 
    
    //only one of the following 3 lines were uncommented while testing: 
    var myinsert = '<span class="green myCursor" 
            onClick="getproblemsadmin(testvar)"> 
            Test 
           </span>'; //doesn't pass testvar to function 
    
    var myinsert = '<span class="green myCursor" 
            onClick="getproblemsadmin(\'testvar\')"> 
            Test 
           </span>'; //doesn't pass testvar to function 
    
    var myinsert = "<span class='green myCursor' 
            onClick='getproblemsadmin(\"testvar\")\'> 
            Test 
           </span>"; //doesn't pass testvar to function 
    
    $('.someclass').html(myinsert); //jquery works and this works (tested) 
    

    有沒有辦法讓變量傳遞到這個函數?javascript語法 - 將變量傳遞到函數

    +0

    在創建字符串和設置HTML時,或者在實際的onclick事件執行時,是否需要'testvar'的值? – 2012-07-14 13:13:44

    +1

    在創建字符串時。發佈的第一個答案是正確的。 – GTCrais 2012-07-14 13:23:32

    回答

    2

    你是指這個變量的值嗎?

    var myinsert = "<span class='green myCursor' onClick='getproblemsadmin(\""+testvar+"\")\'>Test</span>"; 
    

    語法:

    var myinsert = "string" + variable + "string"; 
    var myinsert = 'string' + variable + 'string'; 
    
    +0

    值,是的。謝謝,我現在就試試看。 – GTCrais 2012-07-14 13:10:14

    +0

    這工作,謝謝! (我會編輯我以前的評論,但我不能再) – GTCrais 2012-07-14 13:17:39

    +0

    [理查的jQuery解決方案](http://stackoverflow.com/a/11484123/160971)比建立一個字符串更明智,更安全和更快,特別是如果該字符串包括稍後將評估的JavaScript。 – JoshMock 2012-07-14 19:38:11

    0

    如果我的理解是否正確,你正在尋找一種方式來一個變量傳遞給它會返回包含標記代碼構造的字符串的函數?像這樣?

    var testvar = "something"; 
    
    var myinsert = work_horse(testvar); 
    $('.someclass').html(myinsert); 
    
    function work_horse(testvar){ 
        return '<span class="green myCursor" onClick="getproblemsadmin(' + testvar + ')">Test</span>'; 
    }​ 
    
    1

    你可以嘗試創建跨度元素,然後結合的Click事件:

    $('<span class="green myCursor">Test</span>').click(function() 
    { 
        getproblemsadmin('testvar') 
    }); 
    

    ,或者,如果你想獲得真正jQuery'esk,你可以寫:

    $('<span />').addClass('green myCursor').text('test').click(function() 
    { 
        getproblemsadmin('testvar') 
    }); 
    
    相關問題