2012-10-13 12 views
8

mam jakiś kod HTML, który wygląda tak:jQuery najbliżej elementu z atrybutem, który zawiera wartość

<tr id="nbContent_GR1">...</tr> 
<tr id="nbContent_GR2">...</tr> 
<tr id="nbContent_GR3">...</tr> 
<tr id="nbContent_GR4">...</tr> 
<tr id="nbContent_GR5">...</tr> 
<tr id="nbContent_GR6">...</tr> 

W ramach jednego z wierszy, chcę przechodzić w górę DOM aby znaleźć najbliższy element, który ma atrybut ID zaczynający się od "nbContent_GR". Więc zasadniczo chcę móc znaleźć macierzysty element TR, nie znając jego dokładnego identyfikatora, tylko pierwszego, który zaczyna się od "nbContent_GR". czy to możliwe? Jeśli tak, to jak bym to zrobił?

BTW, jestem świadomy najbliższych() i "zawiera" selektorów, tylko nie wiem, czy można użyć wartości atrybutów, czy nie.

+0

Niestety, nie rozumiał, o co prosiłeś. –

Odpowiedz

14

Wystarczy zrobić:

tr = $(this).closest("[id^='nbContent_GR']"); 

która będzie przechodzić przez DOM aż znajdzie rodzica z ID zaczynając

+0

Doskonale, wiedziałem, że było proste rozwiązanie, którego mi brakowało. :) Nie byłem świadom celu "^". Muszę uczyć się czegoś nowego. – Scott

3
.closest('[id^="nbContent_GR"]') 
Powiązane problemy