Jak podciągać w jquery

115

Jak mogę użyć jquery po stronie klienta do podłańcucha „nameGorge” i usunąć „name”, aby wypisał tylko „Gorge”?

var name = "nameGorge"; //output Gorge
Wąwóz
źródło
15
jQuery to biblioteka napisana w JavaScript. Jest używany razem z JavaScriptem. To, o co prosisz, można zrobić w JavaScript bez konieczności korzystania z biblioteki jQuery.
Jeff
1
jQuery IS JavaScript (dokładniej biblioteka JavaScript, ale JavaScript). Powiedziawszy to, nie sądzę, by użycie jQuery do uzyskania podciągu było łatwiejsze niż w zwykłym JavaScript.
VoidKing

Odpowiedzi:

235

Nie potrzeba jQuery! Po prostu użyj metody podciągowej:

var gorge = name.substring(4);

Lub jeśli tekst, który chcesz usunąć, nie jest statyczny:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');
Justin Niessner
źródło
5
Przepraszam, nie spodziewałem się, że tak mocno wybuchnie po tym, jak zasnąłem. Trochę posprzątałem tutaj. Tymczasem ktoś musi przeczytać ten
BoltClock
Hej BoltClock: Jak się masz? Starałem się tu udowodnić, bardzo dziękuję ... to znaczy, że jeśli próbuję przerobić kod dla klienta, a przychodzę tutaj, szukając odpowiedzi, to zaznaczona odpowiedź opera jest dla niego satysfakcjonująca. . wtedy nie mogę po prostu zadać tego samego pytania ani podać przykładu mojego problemu .. bardzo interesujące .. więc moje pytanie było takie, jak ci faceci są tak pewni, że jeśli używam funkcji jQuery, a wewnątrz używam .split, jestem odwołując się do natywnego sposobu JS lub jakiegoś rodzaju tunelowania lub proxy w celu wyzwolenia tego przez jQuery. Także jeśli czytasz pytanie.
Jean Paul AKA el_vete
Chodzi mi o to, że dla mnie działa w przestrzeni nazw jQuery, naprawdę nie obchodzi mnie to, czy przypadek jest taki, że wywołuje bezpośrednio string.split z JS, ale zamiast tego od społeczności zrozumiałem, że jeśli opublikuję dokładnie to pytanie, będzie oznaczony jako zawężony, ponieważ ta odpowiedź jest bardziej akceptowana niż fakt, że gdzieś jest odwołanie do dokumentacji jQuery.split, co najmniej mówi mi, że powinno być, ponieważ jest tam bez powodowania konfliktu z moim kodem i całym jQuery wtyczki, które na usuniętych zdjęciach mogłeś zobaczyć ... więc jeszcze raz dziękuję
Jean Paul AKA el_vete
5
@JeanPaul - jQuery nie ma funkcji split (). Już to przerabialiśmy. Oba artykuły, do których utworzyłeś link do poprzednio używanej metody text (), aby uzyskać ciąg znaków JavaScript, a następnie nazwano string.split (). W tym przypadku po prostu się mylisz. Rzuć to.
Justin Niessner
52

Korzystanie .split(). (Druga wersja używa .slice()i .join()w tablicy).

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

Korzystanie .replace().

var result = name.replace('name','');

Używanie .slice()na String.

var result = name.slice( 4 );
user113716
źródło
jquery nie obsługuje zamiany. To jest Vanilla js
Jude
9

To po prostu zwykły JavaScript: zobacz substringi substr.

Casablanka
źródło
1
Albo rzeczywiście slice(). Dziwny JS powinien mieć tak wiele sposobów na powiedzenie tego samego, a wszystkie są nieco inne. slice()jest moją preferowaną metodą, ponieważ zachowuje się spójnie z slice()tablicami i zezwala na ujemne indeksy początkowe i końcowe dla indeksowania od końca.
bobince
@bobince: To prawda, a ja nigdy nie pamiętam, który z substringi substrprzyjmuje parametr długość i który bierze indeks końcowy - Zawsze trzeba patrzeć docs się dowiedzieć.
casablanca
4

Nie potrzebujesz do tego jquery.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);
Maurizio Cucchiara
źródło
Muszę to zrobić po stronie klienta i już mam jQuery. Co więc sugerujesz? Przepraszam za proste pytanie, ale jestem dość początkującym użytkownikiem js i jquery.
Wąwóz
To stwierdzenie zwróci „nameGorge”, ponieważ indexOf („name”) zwróci 0.
Justin Niessner
2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

źródło
0

Tak, możesz, chociaż opiera się on na nieodłącznej funkcjonalności Javascript, a nie na bibliotece jQuery.

http://www.w3schools.com/jsref/jsref_substr.asp Ta substrfunkcja umożliwia wyodrębnienie określonych części ciągu.

Teraz, jeśli szukasz określonego ciągu lub znaku, aby znaleźć część ciągu do wyodrębnienia, możesz również skorzystać z funkcji indexOf. http://www.w3schools.com/jsref/jsref_IndexOf.asp

Pytanie jest jednak nieco niejasne; nawet sam tekst linku z „nazwą” przyniesie pożądany rezultat. Jakie są dokładnie kryteria uzyskania podciągu?

aaronofleonard
źródło
1
Dlaczego połączyłeś się z strposfunkcją PHP w pytaniu dotyczącym JavaScript?
casablanca
Masz rację, dziś za dużo PHP. Edytowałem za pomocą odpowiedniego odpowiednika JS. Dzięki za złapanie.
aaronofleonard
-1

A co z następującymi?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
Jean Paul AKA el_vete
źródło