2016-06-01 2 views
0

말을 IDS ? (링크 텍스트에 ID로 사용할 수있게 만들기 전에 공백을 제거해야한다고 생각합니다.)내가 같은 순서없는 목록을

링크를 선택하고 ID를 부여하여 시도했지만 시도 할 수는 있습니다. 혼자서 일하게하지 마라. ID :

$('.mylist > li > a').eq(0).attr('id', 'link1'); 
+0

DEMO https://jsfiddle.net/9w8mqhwj/1/ –

답변

2

다음과 같은 방법으로 시도해 볼 수 있습니다. .mylist 내부 a을 통해 루프

$('.mylist > li > a').each(function(){ 
    $(this).attr('id', $(this).text().replace(/ /g, '')); 
}); 

사용 $.each() 설정하고 자신의 id's.attr()를 사용하여 모든 앵커 텍스트가 다른 아이디의 반복과 결과 잘못된 HTML에있는 것입니다 고유해야합니다 있는지 확인하십시오.

+0

감사합니다! – podusmonens

1

당신이 할 수있는, $().each 루프를 사용하여 각 앵커 요소를 통해

$(".mylist li a").each(function() { 
    $(this).attr("id", $(this).text().replace(/ /g, '')); 
}); 

루프는 다음 attr() 방법을 사용하여 ID를 변경합니다. id는 공백을 포함하지 않아야합니다.

1

있습니다 (이 경우 속성에 매핑되는) 속성을 설정할 수 있습니다 또는 속성은, 예를 들어, 참조 (attr 대신 prop 방법을 사용) :

$(".mylist li a").prop('id', function(){ 
    return this.innerHTML.trim().replace(/ /g,''); 
}); 

그러나 각 앵커 텍스트가 고유한지 확인해야 ... 그렇지 않으면

을 중복 ID를 방지하기 위해, 당신은 사용할 수 있습니다.

$(".mylist li a").prop('id', function(i){ 
    return this.innerHTML.trim().replace(/ /g,'') + "_" + i; 
}); 
0

VAR 링크 1 = $ ('내 list li : nth-child (1) '). attr ('href ');

var link2 = $ ('. mylist li : nth-child (2)'). attr ('href');

관련 문제