此jQuery代碼段修改圖像src
屬性以使用絕對路徑,使用指定域將相對路徑轉換為絕對路徑。 這有助於跨域測試或從外部域中採購圖像時。
<code class="language-javascript">(function ($) { $(document).ready(function () { $('img').each(function (i, v) { let $el = $(this), src = $el.attr('src'), //Improved regex to handle various relative path structures srcRx = /^\/?[^:]+/; // Matches leading slash (optional) followed by non-colon characters if (srcRx.test(src)) { let absoluteSrc = 'http://splash.abc.net.au' + (src.startsWith('/') ? src : '/' + src); $el.attr('src', absoluteSrc); } }); }); })(jQuery);</code>這個改進的版本使用更健壯的正則表達式(
)來正確識別相對路徑,即使是那些沒有領先斜線的路徑。它還可以確保如果在附加基本URL之前從相對路徑中缺失,則將添加引導斜線。 這樣可以防止路徑構造不正確的潛在問題。 srcRx
>
Ben Alman的出色
插件提供了更全面的URL操縱功能,包括有效處理相對和絕對路徑。 您可以在[github鏈接 - (替換為實際的github鏈接)]。jquery.ba-urlinternal.js
經常詢問有關相對和絕對路徑的問題(常見問題解答)
相對路徑和絕對路徑之間有什麼區別?
絕對路徑:
>從網站的根部指定文件或資源的完整位置(例如,)。 相對路徑:
>指定文件相對於當前文件的位置的位置。 它省略了域,通常以ahttps://www.example.com/images/logo.png
/
>方法:../
這獲取了第一個圖像的/images/logo.png
。 使用../images/logo.png
迭代所有圖像:> html? src
中的相對路徑和絕對路徑之間有什麼區別(與上述相同,但在html的上下文中)
>
絕對路徑問題?
.attr()
確保路徑正確並且文件存在。絕對路徑的雙檢查URL和有關當前HTML文件的相對路徑的位置。 $('img').attr('src');
src
>.each()
>我如何在頁面上使用jQuery?
<code class="language-javascript">$('img').each(function() { console.log($(this).attr('src')); });</code>>
以上是用特定的SRC(相對路徑)更新圖像,並具有絕對路徑的詳細內容。更多資訊請關注PHP中文網其他相關文章!