Wiem, że można użyć: zawiera, aby uzyskać elementy, które innerHTML zawiera pewien ciąg znaków, ale w jaki sposób można uzyskać elementy, których innerHTML rozpoczyna się ciągiem?Jquery wybierz wszystkie elementy z innerHTML, który zaczyna się ciągiem?
Odpowiedz
Korzystanie z funkcji filtrowania można filtrować na podstawie dowolnych kryteriów, które chcesz:
var spans = $("span").filter(function(idx) {
return this.innerHTML.indexOf(myString) == 0;
});
Nie trzeba owijać rzeczy :) 'this.innerHTML' działa, i jest znacznie tańszy. –
right-o Nick, dzięki. – joshperry
Można zrobić coś takiego:
<!doctype HTML>
<html>
<head>
<script type = "text/javascript" language = "JavaScript" src = "jquery-1.4.2.min.js"></script>
<script type = "text/javascript" language = "JavaScript">
var elems;
$(document).ready(function(){
$("div").each(function(){
var content = $(this).html();
if (content.match(/asdf/)){
alert(content);
}
});
});
</script>
</head>
<body>
<div>asdfaowhguiwehgiuh</div>
<div>asdfaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>asdfaowhguiwehgiuh</div>
</body>
</html>
W celu znalezienia czy to w treść w ogóle ... jeśli chcesz mieć kilka pierwszych znaków, powinieneś podzielić zawartość na te postacie i przetestować je.
Metoda filtrowania pozwala porównać zawartość elementu, a następnie można zrobić, co się chce (w tym przypadku zrobiłem addClass('selected')
).
$('p').filter(function() {
var searchString = 'Blue';
return ($(this).html().substring(0, searchString.length) == searchString);
}).addClass('selected');
Demo:
wiem, że to jest stary, ale jeśli ktoś szuka lepszej odpowiedzi, ponieważ jQuery v1.1.4 ma ":contains("text")" selector.
Przykład HTML:
<p>Please reply above this line...</p>
Przykład jQuery wybiera powyżej HTML:
$('p:contains("Please reply above this line")');
Uwielbiam znajdować te łatwiejsze (na oko, tak) rozwiązania w starszych postach. Ten jest semantycznie łatwiejszy do zrozumienia. – Sablefoste
Pytanie mówi, że OP ma świadomość, że ': zawiera', ale potrzebuje czegoś do przefiltrowania w oparciu o początek ciągu innerHTML. Dlatego @joshperry ma prawidłowe rozwiązanie. –
- 1. Wybierz elementy z atrybutem id, który zaczyna/kończy się określoną wartością
- 2. jQuery: Wybierz wszystkie elementy "select" z pewną wartością()
- 3. jQuery: wybierz wszystkie elementy danej klasy, z wyjątkiem określonego identyfikatora
- 4. jQuery: Wybierz wszystkie elementy z wartością mniejszą niż 1
- 5. Jeśli komórka zaczyna się ciągiem tekstowym ... Formuła
- 6. Wybierz wszystkie elementy na stronie
- 7. jquery wybierz wszystkie br z wyświetlaczem: brak;
- 8. jQuery wybierz wszystkie elementy wewnątrz poszczególnych elementów nadrzędnych
- 9. Wybierz wszystkie elementy, które mają określony CSS, używając jQuery
- 10. Wybierz elementy, które zaczynają się od "data-"
- 11. Jquery znaleźć wszystkie elementy z tekstem
- 12. jQuery - elementem mecz, który ma klasę, która rozpoczyna się z pewnym ciągiem
- 13. JQuery pobiera wszystkie elementy według nazwy klasy
- 14. tekst vs innerHTML w JQuery
- 15. Wybierz wszystkie elementy podrzędne węzła w scala
- 16. Wybierz wszystkie elementy wektora z wyjątkiem jednego w potoku dplyr
- 17. LINQ - Wybierz wszystkie elementy podrzędne z hierarchii obiektów
- 18. jQuery .each() z ciągiem
- 19. Wybierz wszystko, gdzie [pierwsza litera zaczyna się od B]
- 20. jQuery wybierz elementy na 1 "poziomie"
- 21. jQuery wybierz elementy opcji według wartości
- 22. Jquery: Wybierz element, który wywołał funkcję
- 23. jQuery - ekstrakt nazwa klasy, że „zaczyna się od” prefiksu
- 24. jQuery, wybierz element wewnątrz iframe, który jest wewnątrz iframe
- 25. selektor jquery dla atrybutów, które nie rozpoczynają się ciągiem
- 26. jQuery. Wybierz wszystkie elementy z klasą, ale bez stylu = "display: none;" atrybut
- 27. Jak wybrać wszystkie elementy, których ID zaczyna się i kończy na określonych ciągach?
- 28. Jak przechodzić przez wszystkie elementy formularza jQuery
- 29. jQuery serialize() Wyklucz wszystkie elementy div.classname
- 30. Jak uzyskać wszystkie obrazy w folderze projektu, który zaczyna się od określonego ciągu znaków
Czy oznacza wszystkie elementy, których firstChild jest węzłem tekst? –