Jquery:获取每个元素的'title'属性,而不仅仅是第一个元素

时间:2015-06-18 17:34:49

标签: jquery

我正在使用jQuery插件Tooltipster尝试使用“tooltip”类显示每个元素的title属性。

但无论出于何种原因,我只是获得第一个元素的“标题” - 对于页面上的每个元素。

<i class="tooltip game-1" title="219"></i>
<i class="tooltip game-2" title="30"></i>
<i class="tooltip game-3" title="122"></i>


    $(document).ready(function() {
        $('.tooltip').tooltipster({
           content: $(''+$(this).attr('title')+' people played this game')
        });
    });

我一遍又一遍地得到219。

2 个答案:

答案 0 :(得分:2)

尝试使用 SendKeys.Send("SET client_encoding = 'UTF8';" & "{ENTER}") SendKeys.Send("\o htmlout.html" & "{ENTER}") SendKeys.Send("\H" & "{ENTER}") SendKeys.Send("\T bgcolor=""#E4F1E4""" & "{ENTER}")** SendKeys.Send("SELECT * FROM public." & gdxfilebox.Text.Remove(5)) SendKeys.Send("{ENTER}") SendKeys.Send("WHERE gid IN {(}" & gidbox.Text.Trim() & "{)};") SendKeys.SendWait("{ENTER}") SendKeys.SendWait("\q" & "{ENTER}") SendKeys.SendWait("exit" & "{ENTER}") 单独将each()应用于每个tooltipster()元素。

.tooltip

答案 1 :(得分:1)

如果您使用的是Bootstrap或仅使用JQueryUI,则甚至不需要工具提示的插件。您可以将.tooltip()小部件用于基本工具提示,也可以将其与jquery validate()一起用于客户端的错误处理。

validate()with tooltip()非常灵活,因为您可以将data-attr与元素一起使用来定义规则和消息,或者使用AddMethod函数。

<强> AddMethod:

jQuery.validator.addMethod("math", function(value, element, params) {
  return this.optional(element) || value == params[0] + params[1];
}, jQuery.validator.format("Please enter the correct value for {0} + {1}"));

数据-ATTR

你可以使用这样的东西来过滤/规则:

data-group-type = strings data-group ^ = startswith

OR

$("body").attr("data-seconds");
$('*[data-seconds="/[^0-9]+/"]');

OR

我喜欢在.validate()中编写一个内联函数,我使用条件循环使用.each函数显示或隐藏.tooltip()元素,并使用.valid()检查每个元素。

使用简单 .Tooltip()在.ready或里面.Validate():

form = $("#id");
 // Create new tooltips for invalid elements
form.validate({

  showErrors: function(errorMap, errorList) {

      // Clean up any tooltips for valid elements
      $.each(this.validElements(), function (index, element) {
          $element = $(element);
          $element.data("title", "") // Clear the title - there is no error associated anymore
              .removeClass("error")
              .tooltip("destroy"); 
      });
      // Create new tooltips for invalid elements 
      $.each(errorList, function (index, error) {
          var $element = $(error.element);
// Destroy any pre-existing tooltip so we can repopulate with new tooltip content or disable and hide if .valid()
          $element.tooltip("destroy") 
              .data("title", error.message)
              .addClass("error")
              .tooltip("show"); // Create a new tooltip using the title
      });

//OR SIMPLY
$('input').each(function(){
    if(this.valid())
     this.tooltip("hide disable");
    else
     this.tooltip("show enable");
    });
  },
rules: {
     "math" :{
    required: {depends: "id:checked"}
}
},
messages: {
  "math" :{
    required: "{0} + {1} does not equal the amount entered"
}
},
  submitHandler: function(form) {
      //process form using ajax,.submit(), or whatever
  }
});

请记住,有一种方法可以让猫皮肤变形,因此您可能需要进行更改,因为根据选择,您可能有多种形式和多种条件。在这种情况下,可以使用AddMethod functions中的依赖项。我知道这个问题只是关于工具提示,但我认为我会延伸一点,以帮助人们朝着正确的方向前进,因为工具提示通常与验证有关。