javascript
  • syntax
  • 2012-07-14 51 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') 
    }); 
    
    相关问题