簡體   English   中英

如何在 HTML 中使用內聯 JavaScript?

[英]How to use inline JavaScript in HTML?

支持我有這個隱藏字段:

<input type='hidden' id='handler' name='handler' value='5534882394' />

想象一下,我通過 jQuery AJAX 從服務器獲取 HTML 片段。

<div id='result'>
    <span></span>
</div>

但是,不要寫這樣的東西:

$(function(){
   $('#result span').text($('#handler').val());
});

我想使用類似的東西:

<div id='result'>
    <span>javascript:$('#handler').val();</span>
</div>

但是,我沒有得到預期的結果。 我可以將此方法與 JavaScript 一起使用嗎?

更新:請大家,我知道$(document).ready(); . 所以,不要提供更好的方法。 我只是想知道是否有可能有內聯 JavaScript,如果可以,如何?

不,您不能將這種方法與 Javascript 一起使用。 沒有內聯 Javascript 這樣的東西。

您在<a href="javascript:alert(1)">之類的鏈接中看到的是javascript:偽協議,其使用類似於http:協議。 當您將瀏覽器指向這樣的 URL 時,瀏覽器會運行該腳本。

如果要在頁面中運行腳本,則需要一個腳本標簽。

你可以做 -

<input type="text" id="handler" value="yes"/>
<div id='result'>
    <span>
       <script>document.write($('#handler').val());</script>
    </span>
</div>

並且該頁面在命中腳本標簽時將運行 Javascript。 您必須確保“#handler”元素已經加載,否則腳本將失敗。

一般來說,最好將諸如此類的腳本標簽遠離您的標記。

工作演示 - http://jsfiddle.net/ipr101/h6zXs/

雖然<script>標簽可以工作並且可以讓你做你想做的事情,但我真的建議在那里重新考慮你的設計。 這不是您所說的“不顯眼的 Javascript”。

為什么你更喜歡混合 HTML 和 JS? 如果是出於好奇 - 好的,但如果這是為了將其轉換為生產代碼,那么您可能希望盡可能多地將兩者分開。 最終,您將獲得更好的可維護性。

你忘<script>標簽了嗎?

<div id="result"></div>
<script>$('#result').text($('#handler').val();</script>

幾年前,我遇到了這個確切的問題:我使用 AJAX 來檢索 HTML 並且 HTML 嵌入了 Z9E13B69D1D2DAAAAAFCA27102。 我從來沒有找到比手動解析 HTML 以挖掘 Javascript 標簽並對其內容調用eval更好的解決方案。 笨拙且不可靠,但這是我能找到的最好的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM