2012-04-24 5 views
15

체크 아웃이 간단한 예제가된다 on jsfiddle데이터 속성은 정수

<div id ="a" data-siteid="00005">00005 turns into:</div> 
<div id="b" data-siteid="S00005">S00005 turns into: </div> 

코드

$('#a').append($('#a').data("siteid")); 
$('#b').append($('#b').data("siteid")); 

내가 "00005"과 "S00005"를 반환하고 싶은

00005 turns into:5 
S00005 turns into: S00005 

결과 .

+0

죄송합니다 @FelixKling, 그것은 문자열,하지만 내가 필요 문자열입니다. 내 siteid는 실제 문자열 '00005' – Larsi

+0

예 ... 내 질문을 이해하고 내 의견을 삭제했습니다. 조금 더 설명하면 도움이 될 것입니다;) 예를 들어,'S00005'는 문자열을 반환하기 위해 사용되며'00005'가 숫자로 변환 된 것을 보여줍니다. –

답변

19

From the jQuery Docs

$('#a').append($('#a').attr('data-siteid')); 
$('#b').append($('#b').attr('data-siteid')); 
시도

모든 시도는 (이 논리 값, 숫자, 객체, 배열, 널 포함) 그렇지 않으면로 남겨 자바 스크립트 값을 문자열로 변환한다 문자열. 값의 속성을 변환하지 않고 문자열로 검색하려면 attr() 메소드를 사용하십시오.

+0

doc를 제공해 주셔서 감사합니다. – Larsi

+0

문서에서는'attr()'이'string'을 반환하지만'element.attr ('data-text', '12')와 같은 간단한 코드를 반환한다고 분명히 말합니다. text = element.attr ('data-text');는 나를 위해 숫자를 반환합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? – jlh

2

모든 행위도 이 문자열로 남아있는 자바 스크립트 값 (이 논리 값, 숫자, 객체, 배열, 널 포함)로 문자열을 변환한다. 값의 속성을 변환하지 않고 문자열로 검색하려면 attr() 메소드를 사용하십시오.

은 여기에서 : http://api.jquery.com/data/#data-html5

+2

나는 @binarious가 더 빠르다고 생각한다. :) – ant7

+0

ok, 어쨌든 고마워. – Larsi

0

나는 이것이 약간 오래된 게시물입니다 알지만,이 접근 할 수있는 또 다른 방법은 데이터가 문자열 속성 값을 변환하는 것입니다 :

$('#a').data("siteid").toString() 

또는

$('#a').data().siteid.toString() 

어떻게 작동하는지 몇 가지 예 :

> (12345).toString() 
"12345" 

> (14.5).toString() 
"14.5" 

> (-14.5).toString() 
"-14.5" 

> "bob".toString() 
"bob" 

> (true).toString() 
"true" 

> ({a: "b"}).toString() 
"[object Object]" 

>(function(){console.log("bob")}).toString() 
"function(){console.log("bob")}" 

예에서 괄호는 직접 직접 수에 #toString를 사용할 수 없기 때문에, 변수 할당이 피할 수 있습니다 : 123.toString(),하지만 당신은 그것을 변수에 할당하거나 괄호 안에 할 수있을 때 : (123).toString()합니다.

null 또는 undefined를 문자열로 변환 할 수 없음을 기억하십시오.

이 또한 흥미로운 일이 배열과 정의되지 않은 및 널 (null) 값으로 발생합니다

> (["bob", 123, true, null, undefined, this]).toString() 
"bob,123,true,,,[object Window]"