Program Tip

jquery로 html 문자열 구문 분석

programtip 2020. 12. 4. 20:21
반응형

jquery로 html 문자열 구문 분석


Ajax로드 된 소스의 HTML 문자열이 있습니다. HTML을 문서에 넣기 전에이 문자열의 개체 (이미지)에서 일부 속성을 얻고 싶습니다.

다음과 같은 것이 있습니다.

$.ajax({  
        url: uri+'?js',  
        success: function(data) { 
            var htmlCode = $(data).html();  

            $('#otherObject').html(data);
        }  
    });

src이 HTML 문자열에서 어떻게 속성 ( :)을 얻을 수 있습니까?


100 % 확실하지는 않지만 그렇지 않습니다.

$(data)

어디에도 연결되지 않은 해당 데이터에 대한 DOM이있는 jquery 객체를 생성합니까? 또는 이미 DOM으로 구문 분석 된 경우 $ ( "# myImg", data) 또는 필요에 맞는 선택기로 이동할 수 있습니다.

편집
질문을 다시 읽으면 '데이터'가 이미 DOM 인 것으로 보입니다. 즉, 그냥 갈 수 있습니다 (DOM에 img 만 있다고 가정하면 더 정확한 선택기가 필요함).

$("img", data).attr ("src")

src-attribute에 액세스하려는 경우. 데이터가 텍스트 인 경우에는 아마도 작동 할 것입니다.

$("img", $(data)).attr ("src")

MarvinS.-

시험:

$.ajax({  
        url: uri+'?js',  
        success: function(data) {  
                var imgAttr = $("img", data).attr('src'); 
                var htmlCode = $(data).html();
                $('#imgSrc').html(imgAttr);
                $('#fullHtmlOutput').html(htmlCode);
        }  
    });

이것은 데이터의 전체 html 블록을 #fullHtmlOutput으로로드하고 이미지의 src를 #imgSrc로로드해야합니다.


img 요소에 컨테이너 요소를 추가하여 첫 번째 요소가 아닌지 확인하십시오.


한 가지 주목할 점-오늘 정확히이 문제가 있었기 때문에 HTML에 따라 jQuery가 잘 분석 할 수도 있고 그렇지 않을 수도 있습니다. jQuery는 내 HTML을 올바른 DOM으로 구문 분석하지 않습니다. 더 작은 XML 호환 파일에서는 제대로 작동했지만 내가 가지고있는 HTML (페이지에서 렌더링)은 Ajax 콜백으로 다시 전달 될 때 구문 분석하지 않습니다.

결국 나는 원하는 태그를 문자열에서 수동으로 검색했지만 이상적이지는 않았지만 작동했습니다.

참고 URL : https://stackoverflow.com/questions/704679/parse-html-string-with-jquery

반응형