Tại sao jQuery trả về cùng một phần tử hai lần ở đây?Lựa chọn theo yếu tố ID + phần tử lớp mang lại cùng một yếu tố hai lần
Đã kiểm tra HTML nhiều lần, chỉ có một <div>
với id="3"
và class="password_field_real"
.
Đây là kết quả để nhận tất cả các yếu tố với class="password_field_real"
:
> $(".password_field_real")
[
<div class="password_field_real" id="2" style="display: none;"></div>,
<div class="password_field_real" id="3" style="display: none;"></div>,
<div class="password_field_real" id="7" style="display: none;"></div>,
]
Tuy nhiên, khi tôi cố gắng để có được class="password_field_real"
và id="3"
, tôi nhận được một danh sách của hai divs, mà là như nhau!
> $("#3.password_field_real")
[
<div class="password_field_real" id="3" style="display: none;"></div>,
<div class="password_field_real" id="3" style="display: none;"></div>
]
Đây không phải là trường hợp với hai divs khác:
> $("#7.password_field_real")
[
<div class="password_field_real" id="7" style="display: none;"></div>
]
Tại sao điều này có thể xảy ra?
* CẬP NHẬT *
Reproduced này trong jsFiddle
* CẬP NHẬT # 2 *
Nếu ID không phải số được sử dụng, tất cả mọi thứ works just fine.
Bạn đang sử dụng phiên bản jQuery nào? Bạn có thể đưa ra một jsFiddle hoặc tương tự mà chứng minh vấn đề này? Tôi không thể tái tạo điều này với jQuery 1.9.1 (http://jsfiddle.net/B7S2f/). – Matt
bạn có biết ID số chỉ hợp pháp trong HTML5 không? – Alnitak
Tôi nghĩ rằng không nên có bất kỳ vấn đề, nếu bạn đang phải đối mặt với vấn đề sau đó đầu tiên xóa 'bộ nhớ cache và cookie' sau đó kiểm tra nó một lần nữa. –