为什么this.id不能替换此脚本中$(selector).html中的选择器?

时间:2013-06-15 21:04:20

标签: jquery ajax post

我是这个编程世界的新手,我认为合乎逻辑的是不行。我试图将不同的数据源分成不同的div。我查看了本网站上列出的所有不同答案,但是答案的级别有时超出了我对脚本的问题。我很想知道为什么这不仅仅是为了得到一个答案。

为什么我可以使用$(this.id)方法将id加载到div中? $('#div_1').html($(this.id, resp).html())

为什么this.id不会替换此脚本中$(selector).html中的选择器?

$(function () {
    $(this.id).click(function () {
        var id = this.id;
        console.log(id);
        var postData = ''; // you can send any data to ajax file.
        var channels = this.id
        $('#div_1 , #div_2').html(''); // placeholder
        $.ajax({
            url: 'info.php', // your ajax file
            type: 'post',
            data: postData,
            success: function (resp) {
                $('#div_1').html($(this.id, resp).html());
                $('#div_2').html($('#inner_2', resp).html());
            }
        });
        return false;
    });
});

<a href="#" onClick="return false" id="01">01</a>
<a href="#" onClick="return false" id="02">02</a>
<a href="#" onClick="return false" id="03">03</a>
<a href="#" onClick="return false" id="04">04</a>
<a href="#" onClick="return false" id="05">05</a>

PHP文件

<id="01">this is 01</>
<id="02">this is 02</>
<id="03">this is 03</>
<id="04">this is 04</>
<id="05">this is 05</>

1 个答案:

答案 0 :(得分:0)

this表示当前对象。 $( function() { $(this.id)不起作用,因为没有this [对象]尚未说明这一点。

$('#div_1').html($(this.id, resp).html())中已经存在this [对象],即'#div_1,这就是它有效的原因!