javascript - $(this).innerHTML mengeluarkan undefined, mengapa
習慣沉默
習慣沉默 2017-05-19 10:44:11
0
8
751
<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">

function preview(){
            temp = $(this).innerHTML;
            testwin= open("", "testwin","status=no,menubar=yes,toolbar=no");
            testwin.document.open();
            testwin.document.write(temp);
            testwin.document.close();
        }

</script>
<table width="100%" class="am-table am-table-bordered am-table-radius am-table-striped">
                 
                    <tbody>
                    
                    <tr>
                       
                     <td  onclick="preview()">dghfh</td>
                    </tr>
                    </tbody>
                </table>

</html>
習慣沉默
習慣沉默

membalas semua(8)
phpcn_u1582

Lepaskan parameter ke pratonton fungsi() yang anda isytiharkan, kemudian berikan nilai parameter kepada temp pembolehubah, dan akhirnya tukar panggilan kepada onclick=" preview(this.innerHTML)".
Ujian peribadi, ia berfungsi
Bagi $ (this).innerHTML This in ialah objek penyemak imbas, bukan objek jq

漂亮男人

Pratonton fungsi yang ditulis dalam onclick pada elemen menghala ke tetingkap objek global, bukan ke elemen

迷茫

$(ini) ialah objek jq, jadi gunakan $(this).html()

大家讲道理

$(this)[0].innerHTML; seperti ini

曾经蜡笔没有小新

Anda boleh berhenti dan lihat apakah $(ini) yang anda tulis, ia harus merujuk kepada tetingkap, bukan td yang anda mahukan

阿神

$(ini) ialah persekitaran konteks yang dibalut oleh jquery, dan kaedah yang ditentukannya diperlukan untuk mendapatkan serpihan statik dalaman.
Dua cara untuk mendapatkan:

$(this).html();
$(this).prop('innerHTML');
为情所困

Tulisan asli: this.innerHTML
jquery: $(this).html()
jq+Native: $(this)[0].innerHTML atau this.get(0).html()

習慣沉默

Adakah anda mahu orang asli atau jq

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan