## Bagaimana Kami Boleh Meningkatkan Ketepatan dan Kebolehbacaan Laluan CSS?

Patricia Arquette
Lepaskan: 2024-10-25 11:14:30
asal
807 orang telah melayarinya

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

Laluan CSS daripada Elemen Dokumen: Pendekatan Dipertingkat

Pendekatan semasa untuk menjana laluan CSS boleh dipertingkatkan untuk ketepatan dan kebolehbacaan.

Fungsi asal :

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(" > ");
}
Salin selepas log masuk

menghasilkan laluan CSS seperti:

html > body > div#div-id > div.site > div.clearfix > ul.choices > li
Salin selepas log masuk

Untuk ketepatan, laluan itu hendaklah termasuk nth-child() untuk elemen tanpa ID:

html > body > div#div-id > div.site:nth-child(1) > div.clearfix > ul.choices > li:nth-child(5)
Salin selepas log masuk

Fungsi dipertingkat berikut menangani isu ini:

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(" > ");
 }
Salin selepas log masuk

Dengan peningkatan ini, laluan CSS untuk elemen yang diberikan akan menjadi lebih tepat dan boleh dibaca.

Atas ialah kandungan terperinci ## Bagaimana Kami Boleh Meningkatkan Ketepatan dan Kebolehbacaan Laluan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!