簡體   English   中英

使用正則表達式從字符串中提取href

[英]Extract href from string with regex

使用正則表達式提取包含樣式表鏈接的href字符串並將其保存到JavaScript中的變量的最簡單方法是什么?

樣式表是一個字符串,不是真正的樣式表鏈接。 該頁面打算在頁面加載后隨Javascript一起插入。

編輯:

    <script>
        // Loading stylesheet just before body closes
        $(function() {
            var stylesheet = '<link href="/Static/css/compiled/styles.css" rel="stylesheet"/>';
            var stylesheetHref = ""; // WANT TO SET THIS!!

            if (document.createStyleSheet) {
                document.createStyleSheet(stylesheetHref);
            } else {
                $("head").append(stylesheet));
            }
        });
    </script>

為什么不以正確的方式創建元素,而只從變量中的href開始呢?

$(function () {
    var href = '/Static/css/compiled/styles.css';
    var stylesheet = $('<link />', {rel: 'stylesheet', href: href});

    $("head").append(stylesheet);
});

如果您有一個字符串格式的樣式表鏈接,那么這將為您提供href值,非常容易,而無需使用正則表達式...

var link = '<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/stackoverflow/all.css" />';
var href = $(link).attr("href");

嘗試這個:

<script>
    // Loading stylesheet just before body closes
    $(function() {
        var stylesheet = '<link href="/Static/css/compiled/styles.css" rel="stylesheet"/>';
        var stylesheetHref = stylesheet.replace(/.*href="(.*?)".*/i, "$1");


        if (document.createStyleSheet) {
            document.createStyleSheet(stylesheetHref);
        } else {
            $("head").append(stylesheet));
        }
    });
</script>

暫無
暫無

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

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