2014-03-01 2 views
0

오케이 - 정말 간단 할 수도 있지만 HTML과 CSS 밖에는 전혀 새로운 것이므로 물어볼 시간이라고 생각했습니다.jQuery - 다른 속성에 속성 추가하기?

그래서 제가하고 싶은 것은 새로운 속성 그것을 href 속성에 추가하십시오.

내가 무엇을 가지고 :

<div id="testDiv"> 
    <a href="" newAttr="12345">LINK</a> 
</div> 

$('#testDiv a').attr('href',newAttr+'.extension'); 

을 그리고 내가 원하는 결과는 다음과 같습니다

<div id="testDiv"> 
    <a href="12345.extension" newAttr="12345">LINK</a> 
</div> 

내가 여기 정말 뭔가를 분명 실종 또는 내가 마일 떨어진입니까?

도움이 될 것입니다.

감사합니다, 닉

* 편집 - 내가이 게시물에, 나의 실제 코드 등호 실종됐다 - 루키 :

답변

3

또한 속성의 값을 얻기 위해 attr()을 사용할 수 있습니다 : Btw은

$('#testDiv a').attr('href', function (i, attr) { 
    return $(this).attr('newAttr') + '.extension' 
}); 

, 당신은 당신의 HTML 마크 업 내부 =을 놓치고 :

<a href="12345.extension" newAttr="12345">LINK</a> 
// -----------------------------^here 

Fiddle Demo


편집 : 거기 하나의 앵커 이후 0을 수 있습니다 귀하의 경우, 그래서 i는, ID testDiv와 DIV 내부 앵커의 세트에서 앵커의 인덱스 위치입니다. 이 경우, i은 전혀 사용할 필요가 없기 때문에 의무 사항은 아닙니다.

반면에 attr은 앵커의 이전 href 값을 반환합니다.

$('#testDiv a').attr('href', function() { 
    return $(this).attr('newAttr') + '.extension' 
});  
+0

감사를해야합니다. – Nick

+0

내 데모를 확인 했습니까? – Felix

+0

지금 일하는 것 같습니다 - (i, val)의 의미를 말해 줄 수 있습니까? 또는 (i, attr) 그리고 왜 'i'가 실제로 필요합니까? 그것은 그냥 (attr)와 잘 작동하는 것 때문에? – Nick

2

당신은 attribute setter which takes a function as a handler callback

의 변형을 사용할 필요가 : 당신이 newAttr하지 href 값의 값을 필요로하기 때문에이 중 하나는 또한 실제로 당신은 그냥 빈 둘을 남길 수 있습니다, 여기에 필요하지 않습니다
$('#testDiv a').attr('href', function (i, attr) { 
    return $(this).attr('newAttr') + '.extension' 
}); 

데모 : Fiddle

0

당신은 단지이 newAttr에 대한 등호 누락 있지 않습니까? 그냥 다시 정의되지 않은 온다 어떤 이유로 -

<div id="testDiv"> 
    <a href="12345.extension" newAttr"12345">LINK</a> 
</div> 

는 답장을 보내

<div id="testDiv"> 
    <a href="12345.extension" newAttr="12345">LINK</a> 
</div> 
관련 문제