jQuery를 사용하여 요소 ID에 특정 텍스트가 포함 된 페이지에서 모든 요소 찾기


답변:


201
$('*[id*=mytext]:visible').each(function() {
    $(this).doStuff();
});

선택기 시작 부분의 별표 '*'는 모든 요소와 일치합니다 .

: visible: hidden 선택기 뿐만 아니라 속성에 선택기 포함을 참조하십시오 .


17
어쩌면 요소와 일치 할 때 id따옴표를 사용하지 말고 따옴표를 사용 name하지 마십시오. $('*[name*="myname"]:visible') 가장 직관적이 아니며 이전에 나를 따라 잡았습니다.
ficuscr

나는 $ (this) .doStuff (); this.doStuff ();
Carlos López Marí

133

Contains 로 찾는다면 다음과 같습니다.

    $("input[id*='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Starts With 로 찾는다면 다음과 같습니다.

    $("input[id^='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Ends With 로 찾는다면 다음과 같습니다.

     $("input[id$='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

주어진 문자열이 아닌 id를 가진 요소를 선택하려면

    $("input[id!='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

이름이 주어진 단어를 포함하는 요소를 선택하려면 공백으로 구분하십시오

     $("input[name~='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

id가 주어진 문자열과 같거나 해당 문자열로 시작하고 하이픈이있는 요소를 선택하려는 경우

     $("input[id|='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

안녕하세요, 선택기를 사용하여 id가 배열에 속하는 요소를 선택하려면 어떻게해야합니까?
bpa.mdl

20

ID가 'foo'인 ID를 가진 모든 DIV를 선택합니다.

$("div:visible[id*='foo']");

div가 아닌 텍스트 상자 요소를 검색하는 경우 간단히 $ ( "input : visible [id * = 'foo']")입니다. ?
user48408

$ ( "input [type = 'textbox'] [id * = 'foo'] : visible")입니다.
karim79

1
@ port-zero- 'foo'주위의 작은 따옴표는 필요하지 않습니다
karim79

요소의 가치를 얻으려고한다면 (내 경우에는 스팬)$(this)[0].innerText
Niklas

6

둘 다 고마워 이것은 나를 위해 완벽하게 작동했습니다.

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
    this.value=strVal;
});
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.