2009-09-04 18 views
5

Patrzę na stronę jquery na selektorze zawiera.Jak korzystać z Jquery?

$("div:contains('John')").css("text-decoration", "underline"); 

Jak mogę to zrobić, aby zawierał nieskalowane wartości? Próbowałem zrobić coś takiego, ale to nie działa i jest bardzo niechlujne. Prawdopodobnie brakuje mi jakiegoś klamry lub czegoś, ale czy istnieje czysty sposób, który zadziała? Ponieważ nawet jeśli uruchomię to, gdy następnym razem będę musiał się rozwinąć, będzie to znowu ten sam problem, z tak wieloma połączeniami i tak dalej.

Odpowiedz

11

Brakuje cudzysłowy wokół parametru.

$('div:contains("' + name + '")').css(...); 

próbuję zawsze apostrofów dla ograniczników smyczkowych i cudzysłowy dla ciągów rzeczywistych cytatami pisząc w JS. Tak czy inaczej działa, ale bycie konsekwentnym pomaga czytać struny =)

+0

Osobiście wolę to na odwrót, ale spójność jest kluczowa. +1 –

+0

Tak - tak czy inaczej działa, a spójność jest kluczem. Wolę pojedyncze cudzysłowy jako ograniczniki łańcuchów głównie dlatego, że myślę, że kod wygląda "czystszy" - dla każdego ciągu są dwa kropki mniej na moim ekranie ...;) Z drugiej strony, jeśli chcesz zachować spójność z innymi językami (C# na przykład) prawdopodobnie chcesz użyć podwójnych cudzysłowów. –

+0

Ja sam lubię używać pojedynczych cudzysłowów w javascript, od tego czasu nie musisz uciec od atrybutów html. Muszę przyznać, że czasami używam podwójnych cytatów (jeśli widzę, że to poprawiam), ponieważ jest to konieczne w C# i większości innych języków. Tak właśnie myślałem, że coś zapomniałem. BEZ lepszego sposobu, aby to naprawić? powinny one dodawać jak String.Format z C# do jquery, które ułatwiłyby ładowanie. – chobo2

5

spróbować $ ("div: zawiera ('" + imię + "')")

Powiązane problemy