2013-08-27 5 views
0

자바 스크립트에서 AJAX에 의해 반환 된 변수에는 간단한 문자열이나 <a href="www.example.com">EXAMPLE</a>과 같은 href 코드가 포함될 수 있습니다. 나는 그것이 링크인지 아니면 간단한 문자열인지를 감지하고 적절하게 표시해야한다.자바 스크립트에서 하이퍼 링크로 변수를 감지하여 링크로 표시합니다.

그 다음 하이퍼 링크, 예로서 텍스트로 표시되는 경우, 혹은 단순한 문자열은 다음의 경우는 그대로 표시하는 경우. 내가 할 내가 자바 스크립트 변수로 자바 스크립트 코드에서 그것을 할 수있는 방법

<span ng-bind-html-unsafe="name_of_variable"> 

사용하여 각도에서 그것을 할 수 있습니까? 변수 data는 AJAX의 응답을 포함하는 경우

+0

당신이 NG 바인드 HTML이 안전하지 않은 구현 방법에 봤어? – shapeshifter

+2

스팬이나 div의'.innerHTML'에 응답을 저장하십시오. HTML 인 경우 브라우저는이를 구문 분석하여 적절하게 표시합니다. 단지 일반 텍스트 일 ​​경우 그대로 표시됩니다. – Barmar

+0

당신은 URL이나 간단한 문자열이 있는지 찾아서 그에 따라 조작 할 수있는 정규식 함수를 가질 수 있습니다. 앵커 요소를 동적으로 추가 할 수있는 URL이면 a = document.createElement ('a'); a.href = 'google.com'; a.innerHTML = "예"div에 추가 –

답변

1

내가 URL이 유를 도움이 될 것입니다 아래에 생각 믿고, 데이터 URL을 포함하는 문자열을 확인해야합니다

document.getElementById('where_to_put_it').innerHTML = data; 

data이 하이퍼 링크처럼 보이는 경우 HTML이 구문 분석되어 클릭 할 수 있습니다. 그것이 일반 텍스트라면, 그것은 그 방법으로 문서에 넣을 것입니다.

어쩌면 이런 일이 캘린더 플러그인을 찾고있는 것입니다 :

var match = data.match(/<a\s+href=['"](.*?)['"]\s*>(.*?)<\/a>/i); 
if (match) { 
    event = { title: match[2], 
       url: match[1] 
      }; 
} else { 
    event = { title: data }; 
} 
+0

자바 스크립트 변수를 가지고있어서 자바 스크립트 내에서 캘린더 플러그인에 보여줘야한다. 하이퍼 링크라면 그 변수를 포맷하기위한 자바 스크립트 코드가 필요하다. –

+0

내 요점은 이미 'EXAMPLE'형식의 하이퍼 링크로 포맷 된 것입니다. 캘린더에 가져 오는 방법은 플러그인 API에 따라 다릅니다. – Barmar

+0

캘린더 플러그인의 title 속성이 변수 값을 보여줍니다. –

관련 문제