首頁 > web前端 > css教學 > 主體

## 我們如何提高 CSS 路徑的準確性和可讀性?

Patricia Arquette
發布: 2024-10-25 11:14:30
原創
807 人瀏覽過

## How Can We Improve the Accuracy and Readability of CSS Paths?

來自文件元素的 CSS 路徑:增強方法

目前產生 CSS 路徑的方法可以改進以提高準確性和可讀性。

原始函數:

var cssPath = function (el) {
  var path = [];

  while (
    (el.nodeName.toLowerCase() != 'html') && 
    (el = el.parentNode) &&
    path.unshift(el.nodeName.toLowerCase() + 
      (el.id ? '#' + el.id : '') + 
      (el.className ? '.' + el.className.replace(/\s+/g, ".") : ''))
  );
  return path.join(" > ");
}
登入後複製

產生以下CSS 路徑:

html > body > div#div-id > div.site > div.clearfix > ul.choices > li
登入後複製

為了精確起見,對於沒有ID 的元素,路徑應包含nth-child() :

html > body > div#div-id > div.site:nth-child(1) > div.clearfix > ul.choices > li:nth-child(5)
登入後複製

以下增強功能解決了這些問題:

var cssPath = function(el) {
    if (!(el instanceof Element)) 
        return;
    var path = [];
    while (el.nodeType === Node.ELEMENT_NODE) {
        var selector = el.nodeName.toLowerCase();
        if (el.id) {
            selector += '#' + el.id;
            path.unshift(selector);
            break;
        } else {
            var sib = el, nth = 1;
            while (sib = sib.previousElementSibling) {
                if (sib.nodeName.toLowerCase() == selector)
                   nth++;
            }
            if (nth != 1)
                selector += ":nth-of-type("+nth+")";
        }
        path.unshift(selector);
        el = el.parentNode;
    }
    return path.join(" > ");
 }
登入後複製

透過此增強功能,給定元素的CSS 路徑將更加精確和可讀。

以上是## 我們如何提高 CSS 路徑的準確性和可讀性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!