JQuery 将一段代码应用于多个元素
JQuery applying one piece of code to multiple elements
我试图将一段代码应用于多个div:
$('.elementResizable').resizable({
handles: {
'nw': '#nwgrip',
'sw': '#swgrip',
'se': '#segrip',
'e': '#egrip',
'n': '#ngrip',
's': '#sgrip',
'w': '#wgrip',
}
});
这是 HTML :
<div class='elementResizable' >
<div class="moveHandle glyphicon glyphicon-move" id="testMove"></div>
<input class="test .editable" type="text" id="test" value="Full Name"></input>
<div class="ui-resizable-handle ui-resizable-nw" style="display:none" id="nwgrip"></div>
<div class="ui-resizable-handle ui-resizable-sw" style="display:none" id="swgrip"></div>
<div class="ui-resizable-handle ui-resizable-se" style="display:none" id="segrip"></div>
<div class="ui-resizable-handle ui-resizable-e" style="display:none" id="egrip"></div>
<div class="ui-resizable-handle ui-resizable-n" style="display:none" id="ngrip"></div>
<div class="ui-resizable-handle ui-resizable-s" style="display:none" id="sgrip"></div>
<div class="ui-resizable-handle ui-resizable-w" style="display:none" id="wgrip"></div>
</div>
<div class='elementResizable' >
<div class="moveHandle glyphicon glyphicon-move" id="testMove"></div>
<input class="test .editable" type="text" id="test" value="Full Name"></input>
<div class="ui-resizable-handle ui-resizable-nw" style="display:none" id="nwgrip"></div>
<div class="ui-resizable-handle ui-resizable-sw" style="display:none" id="swgrip"></div>
<div class="ui-resizable-handle ui-resizable-se" style="display:none" id="segrip"></div>
<div class="ui-resizable-handle ui-resizable-e" style="display:none" id="egrip"></div>
<div class="ui-resizable-handle ui-resizable-n" style="display:none" id="ngrip"></div>
<div class="ui-resizable-handle ui-resizable-s" style="display:none" id="sgrip"></div>
<div class="ui-resizable-handle ui-resizable-w" style="display:none" id="wgrip"></div>
</div>
但是,句柄仅附加到其中一个 elementRessizeables,所以我只能调整一个,有没有办法将句柄附加到单独的句柄上,而不必为类使用不同的名称?
在句柄上使用类而不是 id——id 是唯一的!将 id 替换为类,然后将 JavaScript 中的选择器更改为 .nwgrip
、.swgrip
等。然后通过使用.find
和.each
将其限制为子元素:
$('.elementResizable').each(function () {
$(this).resizable({
handles: {
'nw': $(this).find('.nwgrip'),
'sw': $(this).find('.swgrip'),
'se': $(this).find('.segrip'),
'e': $(this).find('.egrip'),
'n': $(this).find('.ngrip'),
's': $(this).find('.sgrip'),
'w': $(this).find('.wgrip'),
}
});
});
您那里有多个具有相同 id 的项目,这在 HTML 中是不允许的。ID 应该是唯一的。如果您将 ID 切换到课程,它可能对您有用。
我对jQuery UI的可调整大小不是很熟悉,但是从文档中看起来您不需要提供句柄吗?
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何将返回的值应用于多个不同位置的多个选择器
- ThreeJS将画布中的文本渲染为纹理,然后应用于平面
- 仅将JavaScript应用于部分代码(例如菜单)
- 如何修改代码以将其应用于三个下拉列表?(Jquery)
- 需要帮助将此JavaScript代码应用于我现有的代码
- VAlue未应用于使用Jquery代码的输入
- JQuery 将一段代码应用于多个元素
- 将多个代码镜像脚本应用于一个iframe
- 如何将此示例应用于我已经存在的代码行
- 如何将此代码应用于我的音频
- 将jquery代码应用于多个文本区域
- 如何将现有的渐变效果代码应用于新元素
- 将代码应用于动态加载的图像
- 如何在不重写现有代码的情况下将jquery代码应用于不同的目标
- 将jquery代码应用于所有元素
- jQuery代码应用于许多输入中,但我只希望它应用于(搜索框)的预期输入中
- 为什么代码没有应用于页面中的每个元素
- 将jquery代码应用于多个类
- 如何处理同时应用于服务器和客户端代码的常量