Javascript альтэрнатыва для Jquery элемента адрасавання

Што Javascript альтэрнатыва для гэтага:

$('#clientDetailModal #heightValue')

Мне гэта трэба, таму што ў маім кодзе гэта працуе:

document.getElementById('heightValue').checkValidity()

але гэта не робіць:

$('#clientDetailModal #heightValue').checkValidity()

А мне трэба выбраць толькі heightValue ў межах clientDetailModal спраў.

0
@tborychowski я не ведаю, калі ОП адрэдагаваны (не бачыў яго ў першы), але ставяць пад пытанне стану <�я> «Мне трэба выбраць толькі heightValue ў межах clientDetailModal DIV» .
дададзена аўтар Denys Séguret, крыніца
@tborychowski я не ведаю, калі ОП адрэдагаваны (не бачыў яго ў першы), але ставяць пад пытанне стану <�я> «Мне трэба выбраць толькі heightValue ў межах clientDetailModal DIV» .
дададзена аўтар Denys Séguret, крыніца
Вы не павінны выкарыстоўваць дубляваны ідэнтыфікатар ўнутры таго ж дакумента. Выкарыстоўвайце клас і паспрабаваць селектар класа. З гэтым сказаным, верагодна, вы павінны сказаць нам, што checkValidity функцыя. Падобна на тое, яна падвяргаецца ўздзеянню на элементы DOM, а не на аб'ект JQuery.
дададзена аўтар Selvakumar Arumugam, крыніца
Ідэнтыфікатар павінен быць унікальным (толькі 1 на старонцы), так што калі вы зробіце гэта: $ ( «# clientDetailModal #heightValue») у jQuery гэта так жа, як гэта зрабіць: $ ( » #heightValue ') , але больш павольна.
дададзена аўтар tborychowski, крыніца
Ідэнтыфікатар павінен быць унікальным (толькі 1 на старонцы), так што калі вы зробіце гэта: $ ( «# clientDetailModal #heightValue») у jQuery гэта так жа, як гэта зрабіць: $ ( » #heightValue ') , але больш павольна.
дададзена аўтар tborychowski, крыніца
@dystroy Ааа, я гэта бачу. Дзякуючы. Тым не менш - гэта дрэнная практыка і класы павінны выкарыстоўвацца замест гэтага.
дададзена аўтар tborychowski, крыніца
@dystroy Ааа, я гэта бачу. Дзякуючы. Тым не менш - гэта дрэнная практыка і класы павінны выкарыстоўвацца замест гэтага.
дададзена аўтар tborychowski, крыніца

9 адказы

Try $('#clientDetailModal #heightValue')[0].checkValidity()

Прычына, па якой трэба зрабіць [0] ёсць (паводле дакументацыі jQuery селектар ідэнтыфікатара)

<�Р> Выклік JQuery() (або $ ()) с селектар ідэнтыфікатара ў якасці аргументу будзе   вяртае аб'ект, які змяшчае jQuery <�моцны> калекцыя </моцны> альбо нуля або адзінцы   DOM-элемент </р>

Так вы атрымаеце <�моцны> калекцыя з 1 DOM элемента (калі вы не маеце некалькі ідэнтыфікатараў), то неабходна будзе відавочна «выбраць» гэты элемент з дапамогай функцыі [0] </код >.

5
дададзена

Try $('#clientDetailModal #heightValue')[0].checkValidity()

Прычына, па якой трэба зрабіць [0] ёсць (паводле дакументацыі jQuery селектар ідэнтыфікатара)

<�Р> Выклік JQuery() (або $ ()) с селектар ідэнтыфікатара ў якасці аргументу будзе   вяртае аб'ект, які змяшчае jQuery <�моцны> калекцыя </моцны> альбо нуля або адзінцы   DOM-элемент </р>

Так вы атрымаеце <�моцны> калекцыя з 1 DOM элемента (калі вы не маеце некалькі ідэнтыфікатараў), то неабходна будзе відавочна «выбраць» гэты элемент з дапамогай функцыі [0] </код >.

5
дададзена

Вы можаце выкарыстоўваць прыбудзе , каб атрымаць элемент DOM:

$('#clientDetailModal #heightValue').get(0).checkValidity()

Каб быць упэўненым, што ваша пытанне можа быць трохі неадназначны: толькі адзін элемент можа мець зададзены ідэнтыфікатар ў HTML. Так што, калі ваш элемент альбо адсутнічае, альбо ўнутры #clientDetailModal , то вы можаце таксама выкарыстоўваць

$('#heightValue').get(0).checkValidity()

Таксама было б хутчэй. Але ў гэтым выпадку, не было б нічога дрэннага ў выкарыстанні document.getElementById .

2
дададзена

Вы можаце выкарыстоўваць прыбудзе , каб атрымаць элемент DOM:

$('#clientDetailModal #heightValue').get(0).checkValidity()

Каб быць упэўненым, што ваша пытанне можа быць трохі неадназначны: толькі адзін элемент можа мець зададзены ідэнтыфікатар ў HTML. Так што, калі ваш элемент альбо адсутнічае, альбо ўнутры #clientDetailModal , то вы можаце таксама выкарыстоўваць

$('#heightValue').get(0).checkValidity()

Таксама было б хутчэй. Але ў гэтым выпадку, не было б нічога дрэннага ў выкарыстанні document.getElementById .

2
дададзена

Я мяркую, гэта тое, што вы шукаеце:

document.getElementById('clientDetailModal').getElementById('heightValue').checkValidity();
1
дададзена

Так як document.getElementById ( 'heightValue'). CheckValidity() працуе, гэта азначае, што вашы функцыі checkValidity() прыкладаецца на натыўных элементаў DOM. Гэта азначае, што вы можаце зрабіць:

$('#clientDetailModal #heightValue')[0].checkValidity() 

Plus: If your HTML is valid with no duplicate IDs, you can simply do

$('#heightValue')[0].checkValidity() 
1
дададзена

Так як document.getElementById ( 'heightValue'). CheckValidity() працуе, гэта азначае, што вашы функцыі checkValidity() прыкладаецца на натыўных элементаў DOM. Гэта азначае, што вы можаце зрабіць:

$('#clientDetailModal #heightValue')[0].checkValidity() 

Plus: If your HTML is valid with no duplicate IDs, you can simply do

$('#heightValue')[0].checkValidity() 
1
дададзена

Паколькі ОП папрасіў альтэрнатыву JavaScript. У сучасных браўзэрах,

document.querySelector ('#clientDetailModal #heightValue')

вяртае элемент, які вы просіце.

Прамы эквівалент будзе

document.querySelectorAll ('#clientDetailModal #heightValue')

які вяртае масіў элементаў, супадальных з просьбай селектара, ня yrou трэба будзе дадаць [0] у адпаведнасці з іншымі адказамі.

0
дададзена

Паколькі ОП папрасіў альтэрнатыву JavaScript. У сучасных браўзэрах,

document.querySelector ('#clientDetailModal #heightValue')

вяртае элемент, які вы просіце.

Прамы эквівалент будзе

document.querySelectorAll ('#clientDetailModal #heightValue')

які вяртае масіў элементаў, супадальных з просьбай селектара, ня yrou трэба будзе дадаць [0] у адпаведнасці з іншымі адказамі.

0
дададзена