简单的问题。我有一个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>
答案 0 :(得分:34)
的语法没有错
$('#part' + number).html(text);
jQuery接受一个String(通常是CSS Selector )或DOM Node作为参数来创建jQuery Object。
在您的情况下,您应该将字符串传递给<{p>的$()
$(<a string>)
确保您可以访问变量number
和text
。
测试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);
});