javascript - 有没有办法将这样的东西组合成一个函数而不是定义这么多?
问题描述
我试着做一个循环,但这并不完全有效
我也想过尝试正则表达式,但这也不起作用
这段代码是更大的一部分,它使用 jquery 在用户按下添加新时动态添加字段,并在用户按下删除时删除那些字段,因此使用的类和 ID 具有它们遵循的模式。IE。如果我可以做 $(like .'/deleteimg[0-9]{1,}/') 而不是确切的事情,这将得到解决。
我现在想到的解决方案是编写一个编写此代码的代码,但是虽然这让我不必编写代码,但它并不能完全帮助代码,所以我不想这样做,除非它是唯一的选择
如果我是第一个遇到这个问题的人,我会感到惊讶,但谷歌搜索并没有真正揭示任何相关答案
jQuery(function($){
$('.deleteimg1').click(function() {
$('.1').remove();
});
});
jQuery(function($){
$('.deleteimg2').click(function() {
$('.2').remove();
});
});
jQuery(function($){
$('.deleteimg3').click(function() {
$('.3').remove();
});
});
jQuery(function($){
$('.deleteimg4').click(function() {
$('.4').remove();
});
});
jQuery(function($){
$('.deleteimg5').click(function() {
$('.5').remove();
});
});
jQuery(function($){
$('.deleteimg6').click(function() {
$('.6').remove();
});
});
jQuery(function($){
$('.deleteimg7').click(function() {
$('.7').remove();
});
});
jQuery(function($){
$('.deleteimg8').click(function() {
$('.8').remove();
});
});
jQuery(function($){
$('.deleteimg9').click(function() {
$('.9').remove();
});
});
jQuery(function($){
$('.deleteimg10').click(function() {
$('.10').remove();
});
});
解决方案
你可以for-loop
像这样使用:
jQuery(function($) {
for (let i = 1; i <= 10; i++) {
$('.deleteimg'+ i).click(function() {
$('.'+ i).remove();
});
}
});
推荐阅读
- json-deserialization - 使用 NewtonSoft 解析 JSON 的 NULL
- android - 以编程方式设置 PIN 时向用户隐藏绑定对话框 - 不适用于华为
- ruby-on-rails - VScode 中没有这样的文件或目录
- python-3.x - 将作为元组给出的键值对添加到字典的推荐方法?
- ios - 加密后如何解密以取回原始字符串?
- python - 尝试上传图像时,Flask 应用程序会提供 500(内部服务器错误)页面(没有任何错误回溯)。我究竟做错了什么?
- windows - MS Visual Studio 2017 的 Cordova 移动应用程序
- vba - 如何使用 DAO 更新记录集
- amazon-web-services - 在 CloudFormation 条件中使用宏
- google-app-engine - Google Appengine 标准:Java8 使用 IAP 和 ESP 设置端点