>  기사  >  웹 프론트엔드  >  HTML_javascript 기술에서 정적 Expando 요소가 지원되지 않는 문제

HTML_javascript 기술에서 정적 Expando 요소가 지원되지 않는 문제

WBOY
WBOY원래의
2016-05-16 19:17:45962검색

스크립트를 사용하여 여러 페이지를 처리할 때 처리 중인 페이지의 TITLE 요소를 통해 문서 제목과 일부 사용자 정의 속성을 가져오고 싶습니다. 서버측의 Attributes 컬렉션을 통해 이러한 추가 속성을 추가했지만 실행 결과가 항상 예상과 다릅니다. TITLE 요소에 작성한 사용자 정의 속성이 항상 null 값을 갖는 이유는 무엇입니까?

클라이언트 및 서버 측 코드는 다음과 같습니다.

ASPX:

쿼리 정보
C#: protected HtmlGenericControl title; Page_Load(객체 전송자, System.EventArgs e)
{
// ...
title.InnerHtml = "쿼리 정보";
title.Attributes["icon"] = "QueryInfo.gif ;
}
HTML:

쿼리 정보
JavaScript: var iconPath = document.all.tags('TITLE')[0].icon; >if ( iconPath )
{
var img = document.createElement('IMG');
img.src = iconPath
// ...
}

결과적으로 원하는 아이콘이 표시되지 않습니다. JavaScript 코드를 추적한 결과 iconPath가 항상 정의되지 않은 것을 발견했습니다. HTML 코드를 보면 분명히 icon="QueryInfo.gif"라는 속성 값 쌍이 있습니다. 제목 개체에서 검색합니다. OuterHTML은 실제로
쿼리 정보
입니다. JavaScript로 얻은 iconPath는 항상 정의되어 있지 않습니다. html 요소입니다. Expando 속성을 html 요소에 추가하는 방법에는 두 가지가 있습니다. 하나는 일반적으로 사용되는 동적 방법입니다. html 코드입니다. 리터럴 모드에서 확장 속성을 추가합니다. 예는 다음과 같습니다.
확장 속성을 동적으로 추가합니다. 이것은 범위 요소입니다.



static 확장 속성 추가: 이것은 스팬 요소입니다.
원래 두 작성 방법에는 기본적으로 차이가 없지만 요소 제목은 확장 속성의 동적인 추가만 지원하고 정적인 지원은 지원하지 않습니다. Expando 속성을 추가하기 시작한 이유입니다. 오류가 발생하는 이유가 있습니다. 그렇다면 제목과 같이 Expando 속성의 정적 추가를 지원하지 않는 html 요소는 어떻습니까? 108개의 html 요소 중 다음 10개 요소는 정적으로 확장 속성 추가를 지원하지 않습니다:
HTML, HEAD, TITLE, BODY, BASEFONT, FORM, HR, HR, TBODY, SCRIPT 단, 확장 속성 추가 동적으로 모든 html 요소와 dhtml 객체가 지원됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.