2017-11-09 1 views
1

목록의 값을 얻기 위해 javascript 코드를 만들었지 만 Windows 가장자리에서는 <li>의 실제 값이 비어있는 경우 반환 값 1이 반환됩니다. 예를 들어
:
HTML 코드MS Edge 속성 값을 1로 변경합니다.

<ul> 
    <li value="">Test 1</li> 
    <li value="a">Test 2</li> 
    <li value="b">Test 3</li> 
</ul> 

자바 스크립트/JQuery와 코드

$('ul').find('li').each(function(){ 
    console.log($(this).attr('value')); //1st <li> value is showing "1", it should be blank as it is set already 
}); 


코드 만이 마이크로 소프트 에지를 위해 작동하지 않는 다른 모든 브라우저에서 잘 작동
다음은 jsfiddle 링크입니다. http://jsfiddle.net/53sos61u/

+0

* "여기는 jsfiddle 링크입니다."* 더 나은 ** 현장 ** ** 스택 스 니펫; [여기에 하나의 방법이 있습니다] (https://meta.stackoverflow.com/questions/358992/ive-been-told-to-do-a-runnable-example-with-stack-snippets-how-do-i- 할). –

+0

@ T.J.Crowder 예, 동의합니다. 데이터 값이어야합니다. 하지만 코드를 어디에나 추가 했으므로 코드를 변경할 수없는 상황이므로 자바 스크립트에서 약간의 수정이 필요합니다. 어떤 방법이 있습니까? – KRY

+0

나는 그렇게 생각하지 않는다. 왜 내 대답을보십시오. –

답변

0

사용자 속성에 data- prefix을 사용하는 것이 중요합니다.

valuea meaning for li elements 있습니다

value 속성이 존재하는 경우, 목록 항목의 ordinal value을주는 valid integer해야합니다.

이론적으로, 그것은 ... ol의 내부 li의 만하지만 (이것은 새로운 것이 아니다, 특징적으로 덜 철저하게 정의하지만 그것뿐만 아니라 in the HTML4 spec을의 ...)

따라서 브라우저를 통해 안정적으로 다른 용도로 사용하려면 data-value으로 변경해야합니다.

관련 문제