2012-06-11 29 views
5

Tôi có: <a href="mylink.html"><img src="abc.png" /></a>. Tôi muốn biết liệu img parentNode của tôi có phải là thẻ <a> hay không.Cách kiểm tra xem parentNode của tôi có phải là thẻ html <a> không - YUI

Tôi sử dụng thư viện YUI 3, nhưng tôi có thể sử dụng JS gốc.

Mọi đề xuất?

+0

Tôi cần nó trong YUI hoặc bản địa ... – JulienITARD

+1

@duffymo - YUI là một thư viện hoàn hảo tốt (thẳng thắn, tôi nghĩ nó khá hơn jQuery), nhưng đặc biệt là ở phía trước tài liệu, nhưng nhiệm vụ này đủ tầm thường một thư viện không thực sự giúp ích nhiều. – Quentin

Trả lời

8

Lấy nút cha, lấy tên nút của nó, sau đó so sánh với tên nút bạn muốn. Để chắc chắn rằng một cái gì đó là một liên kết (chứ không phải là một số loại neo khác), hãy kiểm tra xem nó có thuộc tính href đầy không.

node.parentNode.nodeName.toLowerCase() === 'a' && node.parentNode.href !== ""; 
+1

Kiểm tra 'typeof' mà bạn đang thực hiện luôn đánh giá đúng là – Esailija

+0

@Esailija - Vì vậy, điều đó có ích cho tôi để cố gắng thông minh mà không cần thử nghiệm. Đã sửa. – Quentin

+0

Thx rất nhiều Quentin :) – JulienITARD

1

Bạn sử dụng node.parentNode. Một tìm kiếm đơn giản sẽ tiết lộ điều đó.

2

Nếu bạn đang sử dụng YUI, thì imgNode.ancestor().test('a').

Các vấn đề liên quan