using multiple id in jquery

2020-04-12 09:02发布

I made little jquery script for checking if input box value bigger than 5 .but I have 2 tag with an id and only one of them works.

<div id="register">
    <form id="register">
<input id="first" type="text" /> <a id="first" ></a> <br />
    <input id="second" type="text" /> <a id="second" ></a>

</form>

$('input').keyup(function(){
if($(this).val().length<5)
   {
  $('a.first').text("Please fill"); 
   }
if($(this).val().length<5){
     $('a.second').text("Please fill"); 
   }
});

But it shows only first <a id="first"></a> tag. Second tag not visible

3条回答
三岁会撩人
2楼-- · 2020-04-12 09:13

You just need to change your <a>'s to use classes:

<div id="register">
    <form id="register">
       <input id="first" type="text" /> <a class="first" ></a> <br />
       <input id="second" type="text" /> <a class="second" ></a>
    </form>
</div>

The jQuery selectors you're using:

$('a.first')
$('a.second')

Are looking for an <a> with a class. If you were trying to look for an <a> with an id, they would need to be as follows:

$('a#first')
$('a#second')
查看更多
够拽才男人
3楼-- · 2020-04-12 09:23

Agreed with not having duplicate id's. Easier to keep track of, and cleaner code. My two cents :), after having to refactor a chunk of code at work recently that had duplicate id's that failed to work in IE. Lesson learned!

查看更多
对你真心纯属浪费
4楼-- · 2020-04-12 09:27

change the ID of register , its not correct to have two identical ID's in the same page , after that everything should be working fine

cheers

查看更多
登录 后发表回答