jQuery로 HTML 주석 선택
누구든지 jQuery로 HTML 주석 노드를 선택하는 방법을 알고 있습니까?
<html>
<head>
<title>Check Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("body *").each(function() {
alert($(this).wrap("<span />").parent().html());
});
});
</script>
</head>
<body>
<!-- Hello -->
<p>
<label for="thing">Thing Label</label>
<input id="thing" type="checkbox" />
</p>
이것은 주석을 선택하지 않습니다.
있다 jQuery를 코멘트 () 플러그인 당신을 위해 그렇게 할 것입니다. 용법:
var comments = $( "#foo" ).comments();
alert(comments.html());
이것은 당신이 찾고있는 것과 동등한 것을하는 것 같습니다.
$(function() {
$("body").contents().filter(function(){
return this.nodeType == 8;
}).each(function(i, e){
alert(e.nodeValue);
});
});
플러그인을 원하지 않는 경우 :
var content = jQuery('body').html();
alert(content.match(/<!--.*?-->/g));
이것은 정규식을 사용합니다. 으로 둘러싸인 아무것도 검색으로 설정 <!--
하고 -->
그 안쪽에 쓰여 중요하지 않지만.
참고 : 그러나 jQuery가 주석을 반환하는지 확실하지 않습니다. 그렇지 않으면이 방법이 작동하지 않습니다.
다시 한 번, 게임에 늦었지만 최근에 직면 한 상황에서이 게시물이 도움이 되었기 때문에 다시 기여할 것이라고 생각했습니다.
우리의 맥락에서 우리는 광고를 렌더링하기 위해 코드 블록을 제공하는 광고 서비스를 가지고 있습니다.
각 광고에는 고유 한 '항공편 ID'가 있습니다. 동일한 250x300 사이드 레일 광고에 여러 비행이있을 수 있음을 의미합니다. 따라서 한 번의 인상에서 Subway, refresh 및 아마도 Quizno의 광고를 볼 수 있습니다.
안타깝게도이 서비스는이 항공편 ID를 주석으로 제공하며 데이터 속성과 같이 좀 더 유용한 것이 아닙니다. 즉, 각 댓글은 태그 내에 있습니다.
위에서이 솔루션을 조합하여 RegExp 개체의 JavaScript의 exec () 메서드를 활용하여 주석에서 비행 번호를 얻을 수있었습니다.
regexComment = new RegExp(/<!--\s*ad flight id:\s*([0-9]+)\s*-->/i);
targetElement = regexComment.exec($('div.advertisement').html());
if(targetElement.length > 0) {
return parseInt(targetElement[1]);
}
다시 말하지만, 게임 후반에 죄송하지만이 문제에 대한 또 다른 접근 방식을 제공하는 것이 나쁘지 않을 것이라고 생각했습니다.
참고 URL : https://stackoverflow.com/questions/1623734/selecting-html-comments-with-jquery
'Development Tip' 카테고리의 다른 글
TcpClient 연결을 적절하고 완전히 닫거나 재설정하는 방법은 무엇입니까? (0) | 2020.11.07 |
---|---|
Rails, MySQL 및 Snow Leopard (0) | 2020.11.07 |
C #의 부분 클래스는 잘못된 디자인입니까? (0) | 2020.11.07 |
프로그래밍 방식으로 CenterX / CenterY 제약 추가 (0) | 2020.11.06 |
ASP.NET MVC 3-다른 작업으로 리디렉션 (0) | 2020.11.06 |