在jQuery Selector中连接

时间:2012-08-26 23:00:19

标签: jquery concatenation

简单的问题。我有一个js变量我想在jQuery选择器中连接。但它不起作用。也没有出现任何错误。怎么了?如何在jQuery选择器中正确地将变量连接到某些文本。

<div id="part2"></div>

<script type="text/javascript" >

$('#button').click(function () 
{
var text = $('#text').val();    
var number = 2;
$.post('ajaxskeleton.php', {
red: text       
}, 
    function(){
    $('#part' + number).html(text);
    }); 
});


</script> 

2 个答案:

答案 0 :(得分:34)

的语法没有错
$('#part' + number).html(text);

jQuery接受一个String(通常是CSS Selector )或DOM Node作为参数来创建jQuery Object

在您的情况下,您应该将字符串传递给<{p>的$()

$(<a string>)

确保您可以访问变量numbertext

测试do:

function(){
    alert(number + ":" + text);//or use console.log(number + ":" + text)
    $('#part' + number).html(text);
}); 

如果您发现自己没有访问权限,请将它们作为参数传递给函数,您必须包含$ .get的uual参数并在它们之后传递自定义参数。

答案 1 :(得分:3)

您的串联语法是正确的。

很可能甚至没有调用回调函数。您可以在该函数中添加alert()console.log()debugger行来测试。

如果没有被调用,很可能是AJAX错误。查看在.fail()之后链接$.post()处理程序以找出错误,例如:

$.post('ajaxskeleton.php', {
    red: text       
}, function(){
    $('#part' + number).html(text);
}).fail(function(jqXHR, textStatus, errorThrown) {
    console.log(arguments);
});