jQuery从id属性显示div
我有两个输入jQuery从id属性显示div,jquery,html,Jquery,Html,我有两个输入 <div class="form-group"> <label>Store Username <span>*</span></label> <input required type="text" name="storeusername" class="form-control info" id="1" /> </div> <div class="form-group"> &l
<div class="form-group">
<label>Store Username <span>*</span></label>
<input required type="text" name="storeusername" class="form-control info" id="1" />
</div>
<div class="form-group">
<label>Store Name<span>*</span></label>
<input required type="text" name="storename" class="form-control info" id="2" />
</div>
但这是行不通的!没有显示div。有人能帮我解释一下吗?我不确定您的“隐藏”类是什么样子,所以我使用内联样式隐藏div,然后使用jquery显示/隐藏类似于您已经在做的事情。看小提琴 HTML:
我不确定您的“隐藏”类是什么样子的,所以我使用内联样式来隐藏div,然后使用jquery来显示/隐藏类似于您已经在做的事情。看小提琴 HTML: .hide()和.show()是不同于拥有或删除“隐藏”类的机制。尝试将最后一行更改为: $(“#div”+id).removeClass(“隐藏”).show() .hide()和.show()是不同于拥有或删除“隐藏”类的机制。尝试将最后一行更改为:
$(“#div”+id).removeClass(“隐藏”).show() 使用jQuery.hide()函数与添加隐藏类以隐藏div不同,因此删除隐藏类不会显示div。可以通过添加和删除类来隐藏和显示,也可以使用jQuery.hide()和.show()函数来隐藏和显示。不要混用方法,否则会给您带来麻烦。使用jQuery.hide()函数与添加隐藏类以隐藏div不同,因此删除隐藏类不会显示它们。可以通过添加和删除类来隐藏和显示,也可以使用jQuery.hide()和.show()函数来隐藏和显示。不要混用这些方法,否则会给您带来麻烦。我知道您的意图是在用户将要在文本框中输入值时显示一个
div
由于用户也可以使用键盘导航到文本框中,我建议您使用焦点事件触发调出div的逻辑,而不是单击
$(".info").on('focus',function()
{
$(".infoDiv").hide();
var id = $(this).attr('id');
$("#div"+id).show();
});
我知道您的意图是在用户将要在文本框中输入值时显示一个
div
由于用户也可以使用键盘导航到文本框中,我建议您使用焦点事件触发调出div的逻辑,而不是单击
$(".info").on('focus',function()
{
$(".infoDiv").hide();
var id = $(this).attr('id');
$("#div"+id).show();
});
Try:var id=$(this.attr('id');要获取当前/已单击的元素id…,请选择“否”。它不起作用!Try:var id=$(this.attr('id');要获取当前/已单击的元素id…,请选择“否”。它不起作用!您也可以使用
this
,而不是传入事件。解决方案的关键在于使用.show()
而不是删除类。jQuery函数不添加类,而是更改内联样式。Krillgar它实现了相同的结果!这可能行得通。之前,我为所有div创建了单独的函数。现在,我想创建更智能的代码。这样就可以这样做了,您也可以使用This
来代替传入事件。解决方案的关键在于使用.show()
而不是删除类。jQuery函数不添加类,而是更改内联样式。Krillgar它实现了相同的结果!这可能行得通。之前,我为所有div创建了单独的函数。现在,我想创建更智能的代码。这行了,这行了,这就是为什么最后一行行不通的原因。但是,关于需要使用this
查找id
的注释是正确的。这就是最后一行不起作用的原因。但是,关于需要使用this
查找id
@Alexis乐于帮助的注释是正确的:)@亚历克西斯很乐意帮忙……)
<div class="form-group">
<label>Store Username <span>*</span></label>
<input required type="text" name="storeusername" class="form-control info" id="1" />
</div>
<div class="form-group">
<label>Store Name<span>*</span></label>
<input required type="text" name="storename" class="form-control info" id="2" />
</div>
<div id="div1" class="infoDiv" style="display:none;">
<div class="company-story-content"><h2 class="story-title">Store <span class="color-text">Username</span> </h2></div>
<p>Store username is unique and it will be used to find your store.</p>
<p>For example www.flashcart.com/<span class="color-text">abc</span> to find store that has <span class="color-text">abc</span> username.</p>
<p>Please keep in mind before choosing username.</p>
<ul>
<li> Username can contain <span class="color-text">Alphabets</span><li>
<li> Username can contain <span class="color-text">Numbers</span>.</li>
<li> Username can contain <span class="color-text">Underscores</span>.</li>
</ul>
</div>
<div id="div2" class="infoDiv" style="display:none;">
<div class="company-story-content">
<h2 class="story-title">Some other<span class="color-text">Username</span> </h2></div>
<p>Div</p>
</div>
$(document).ready(function()
{
$(".info").click(function(event)
{
$(".infoDiv").hide();
var id = $(event.target).attr('id');
$("#div"+id).show();
});
});
$(".info").on('focus',function()
{
$(".infoDiv").hide();
var id = $(this).attr('id');
$("#div"+id).show();
});