Rumah > hujung hadapan web > tutorial css > ## Bagaimana Kami Boleh Meningkatkan Ketepatan dan Kebolehbacaan Laluan CSS?

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

Patricia Arquette
Lepaskan: 2024-10-25 11:14:30
asal
968 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!

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