今天遇到一個問題,在這里記一下。
如下面代碼,當給script標簽同時添加src屬性和內容時,script會忽略內容中的代碼,只執行引入的js中的語句。
<script src="example.js"> console.log('test'); </script>
當然,這不是重點。今天遇到的問題是我在寫script時寫成了如下格式
<script src='example.js' />
頁面中會顯示為如下格式,這里就會出現個問題,example.js中的代碼沒有執行
以前習慣會寫成<script></script>這種,覺得<script src="" />這樣的寫法也沒有問題,這里真的是讓自己上了一課。之后在網上查了些資料,了解到了HTML標簽的閉合性。
HTML標簽是否閉合,可以通過將標簽分類進行判斷,大致分為有內容標簽和無內容標簽。像div,p,span這種就屬於有內容標簽,標簽內部可以添加內容,例如:<div>hello world</div>,像input,br,hr這種就屬於無內容標簽,寫法為 <input type="text" />, <br />。
但是script標簽需要單獨記憶,它屬於有內容標簽,內部可以寫入js代碼,但是必須要寫成<script></script>這種形式,其他形式就會出現錯誤。
最后,列舉出一些無內容標簽,方便記憶。
<br> <hr> <img> <input> <link> <meta> <area> <base> <col> <command> <embed> <keygen> <param> <source> <track> <wbr>