2013-08-30 5 views
1

페이지를 스캔하여 price이라는 단어가 포함 된 클래스 또는 ID가있는 html 요소를 찾으려고합니다. 내 생각은 정규식을 여기에 사용하는 것이지만 올바르게 발사 할 수 없습니다. 나는 OS의 X에 사파리와 크롬을 사용하고jQuery Selector with regex

이미 이미 처리 된 오픈 그래프에 명시되어 있지 않은 경우 목적은 전자 상거래 사이트에서 제품의 가격을 얻는 것입니다
var price = $("div:regex(\bprice\b)").text(); 

.

+0

흥미있는 또 다른 방법 : http://stackoverflow.com/questions/1163888/jquery-get-only-all-html-elements-with를 -ids하지만 perf 슬러그 수 있습니다 : (하지만 여전히 흥미 롭군요. –

답변

3

"\b""\x08"과 동일합니다.

탈출 \ :

var price = $("div:regex(\\bprice\\b)").text(); 
+0

그러나 이것에 대해 고마워요.'오류 : 구문 오류, 인식 할 수없는 표현식 : unsupported pseudo : regex' –

+3

'regex'는 jQuery의 일부가 아니므로 http://james.padolsey.com을 사용해야합니다./javascript/regex-selector-for-jquery/ – Barmar

+0

지금이 모든 의견을 얻으 시니 정말 고마워요? 'TypeError : 'undefined'가 객체가 아닙니다 ('match [3]'평가 중) ' –

2

간단한 방법은 단어 선택 포함 사용하는 것입니다

$('div[id~="price"], div[class~="price"]') 

보기를 http://api.jquery.com/attribute-contains-word-selector/

+0

div [class ~ = "price"], span [id ~ = "price"], span [class ~ = "price"], p [ 첫 번째(). 텍스트();'그리고 그것은 잘 작동하지만 어떤 생각이 조금 지저분 해 보입니까? –

+1

그래서'$ ('[id = = "가격"], [클래스 ~ = "가격"]')' – sinsedrix

0

당신이 할 수있는 새로운 pseuo 선택기를 추가하여 :

0 12,

당신은 사용이 선택 사용할 수 있습니다 :이 일을

$("div:regex(\\bprice\\b)")