javascript - 函数参数作为文本不起作用

标签 javascript jquery function

这是我的第一篇文章,请放轻松:)

我正在尝试创建一个名为 alertControls() 的可重用函数。我正在尝试制作可以在函数中调用的 html 字符串中替换的参数位,但是当我尝试这样做时出现错误。我尝试了几种不同的方法,但很困惑为什么这在 JS 中不起作用:

function alertControls(parent, icon, alert, message) {
  parent = "form-group has-warning has-feedback";
  icon = "warning-sign";
  alert = "warning";
  message = "Password too short";

  $(this).closest("div").removeClass();
  $('.alert').remove();
  $('span').not('.input-group-addon,.hidden-xs,.caret').remove();
  $(this).closest("div").addClass(parent);
  $(this).before('<span class="glyphicon glyphicon-' + icon + 'form-control-feedback" aria-hidden="true"></span>');
  $(this).closest("div").append('<div class="alert alert-' + alert + ' alert-strong is-attached"><em class="glyphicon glyphicon-remove-sign"></em> <strong>' + message + '</strong></div>');
}

然后我希望能够在函数 html 中重用不同的值:

alertControls("form-group has-error has-feedback", "error-sign", "error", "Not valid");

非常感谢您的帮助

最佳答案

  1. 您正在为参数分配新值。如果我理解了一个问题,您应该将其更改为:

消息 = 消息 || “密码太短”;等。

  1. 您对this 的用法不正确。也许你必须传递另一个属性,比如 element 并使用它而不是 $(this) 所以它会是:

    if ($('input#test').val() === "") { alertControls($('input#test'), "form-group has-error has-feedback", "error-sign", "error", "Not valid"); }

关于javascript - 函数参数作为文本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39126158/

相关文章:

javascript - 如何循环遍历具有许多 JSON 数组节点的 JSON 对象 jQuery

javascript - 使用 2 个函数和 onchange 事件处理程序计算 5 个数字的平均值

SQL 返回递增的数字

javascript - 只是想看看是否有一种方法可以将字符串变量连接到 onclick 函数上?

jquery - 改变所有其他元素的背景颜色

javascript - 将 Javascript Bit Shift 代码转换为 VB.net

javascript - "closest()"在其他情况下不工作

function - 在 Common Lisp 中将 - 更改为 +

javascript - 如何编写供本地使用的 jquery 可链接函数?

JavaScript 获取超时?