Câu trả lời được chấp nhận (sử dụng a[href$='.pdf']
) giả định rằng một liên kết đến pdf sẽ luôn kết thúc bằng .pdf
. Điều đó không nhất thiết phải xảy ra, vì liên kết có thể có chuỗi truy vấn hoặc phân đoạn băm, ví dụ: với mã theo dõi UTM hoặc số trang, trong trường hợp đó, các liên kết đó sẽ không khớp. Trên thực tế, tùy thuộc vào ứng dụng của bạn, đây có thể là trường hợp cho hầu hết các liên kết.
<a href="/manual.pdf?utm_source=homepage">A PDF File</a>
<a href="/manual.pdf#page=42">A PDF File</a>
Nếu bạn muốn đảm bảo quy tắc của mình cũng được áp dụng trong những trường hợp đó, bạn có thể đối sánh với .pdf
bất kỳ vị trí nào trong thuộc tính bằng cách sử dụng
a[href*='.pdf']
Tuy nhiên, điều này sau đó sẽ phù hợp với một số điều không mong muốn nhưng không mong muốn, chẳng hạn như tên miền phụ our.pdf.domain.com/a-page
. Nhưng chúng tôi có thể thu hẹp nó hơn nữa, vì chúng tôi biết rằng chúng tôi sẽ chỉ sử dụng nó khớp với các pdf có chuỗi truy vấn hoặc phân đoạn băm. Nếu chúng ta kết hợp 3 trường hợp, chúng ta nên khớp tất cả các liên kết pdf.
a[href$='.pdf'], a[href*='.pdf?'], a[href*='.pdf#'] {
background: red;
}