2010-08-31 34 views
9

Giống như, tôi muốn kiểm tra xem một liên kết có một miền nhất định hay đã có thông số được đính kèm vào cuối.jQuery: làm cách nào để kiểm tra xem thuộc tính phần tử có chứa một phần của chuỗi không?

có cách nào để thực hiện điều regex như ~ = có thể không?

hiện, tôi có

alert(ref); 
     $j("a[href*='mysite']").each(function(i){ 
      alert("hello"); 
      $j(this).attr('href',$j(this).attr('href') + "?ref=" + $j.cookie.get("tb_ref")); 
     }); 

nhưng chọn không hoạt động. (Tôi chưa bao giờ nhìn thấy cảnh báo Hello, nhưng tôi gieo rắc cảnh báo alert ref

thẻ một của tôi

<a href="http://domain.mysite.com/">yeah, link</a> 
<a href="http://google.com/">g, link</a> 
+0

cập nhật câu trả lời của tôi dựa trên bản cập nhật mã của bạn. Công cụ chọn làm việc cho mã của tôi - có thể có vấn đề khác? –

Trả lời

13

Sử dụng substring/contains chọn:. Thuộc tính

$("selector[name*='mystring']")

phát hiện name = "somemystring "

Nếu bạn lo oking cho toàn bộ văn bản, giới hạn bởi không gian, sau đó sử dụng whole word selector: thuộc tính

$("selector[name~='mystring']")

phát hiện name = "một số mystring là tốt"

EDIT tôi lấy mã của bạn từ trên cao và tạo ra một jsFiddle cho nó. Tôi thấy một cảnh báo 'Hello' bật lên. (Tôi đã không làm một cảnh báo cho các alert(ref), như tôi không biết những gì ref được.) Vì vậy, chọn làm việc cho các thuộc tính href của bạn. Bạn đang sử dụng jQuery khác với bình thường (bình thường = $, bạn đang sử dụng $j). Bạn đã đăng ký bí danh này đúng chưa? Thay vào đó, nếu bạn sử dụng $ hoặc jQuery thì mã của bạn có hoạt động không?

+0

gần như, tôi sẽ cập nhật câu hỏi của tôi để cho bạn thấy những gì tôi có cho đến nay. Tôi không thể có được nó để làm việc. – NullVoxPopuli

1

Nếu liên kết là <a id='link' href='www.google.com/myparam'></a> và bạn muốn nói nếu liên kết chứa myparam sử dụng jQuery/javascript:

/myparam/.test($("#link").attr('href')) 
Các vấn đề liên quan