第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

new一個實例出現(xiàn)的問題?

new一個實例出現(xiàn)的問題?

千萬里不及你 2019-03-21 18:15:25
html:<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>test</title>    <link rel="stylesheet" href="./showbox.css"></head><body>    <script src="./jQuery-1.12.4.js"></script>    <script src="./showbox.js"></script>    <script>        $(function(){            var box = new ShowBox();            box.push('hello world');        });    </script></body></html>js:(function(){    function ShowBox(){};    ShowBox.prototype = {        push:function(content){           var layer = '<div class="showbox_layer"></div>';           if(content){              $('html,body').html(layer);           }         }    }    window.ShowBox = ShowBox;}());頁面中的jquery正常引入。問題:運行頁面后,F(xiàn)12調(diào)出控制臺。head部分沒有內(nèi)容,同時頁面樣式也未能生效。(已確定引入樣式)
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

為什么要使用$('html,body')?
$('html,body')選中的是兩個元素,也就是html元素和body元素,.html方法是把元素的內(nèi)容用.html的參數(shù)完全覆蓋。

也就是首先html元素的內(nèi)容完全被<div class="showbox_layer"></div>替換,可能是給html添加元素的時候,因為div不是html的有效元素,所以會生成一個空的head標簽,一個空的body標簽,然后把<div class="showbox_layer"></div>放入body里;

然后是body元素的內(nèi)容完全被<div class="showbox_layer"></div>替換,因為替換前body就只有<div class="showbox_layer"></div>,所以替換后和替換前展示的內(nèi)容是一樣的。

所以就導(dǎo)致了截圖中的效果,你沒有發(fā)現(xiàn)不僅head空了,bodyscript標簽也沒有了嗎。

所以首先把$('html,body')修改為$('body'),然后把.html方法替換為.prepend或者.append方法:

$('body').prepend(layer);

是否用.prepend方法替換.html方法要看你的需求,如果你的需求就是完全替換,那么用.html方法就行,如果是添加的話,還是換為.prepend或者.append比較好。


查看完整回答
反對 回復(fù) 2019-04-06
  • 2 回答
  • 0 關(guān)注
  • 481 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號