日期:2014-05-16  浏览次数:20359 次

一段代码,大神们给解释下
......省略一 
target.find('input[dataExplain]').each(function () {
  if ($(this).attr('type') == 'password') {
  var pw = $(this);

  var text = $('<input type="text"/>');
  var attrs = ['id', 'name', 'style'];
  for (var n in $(this)[0]) {
  if (/^className$/.test(n)) {
  text.attr(n, $(this).attr(n));
  }
  if (attrs.indexOf(n) >-1) {
  var attrVal = $(this).attr(n);
  if (attrVal != null && attrVal != '')
  text.attr(n, attrVal);
  }
  }
  text.val(pw.attr('dataExplain'));

谁给我解释下红色的那句

------解决方案--------------------
不对呀,除非它有对数组定义一个indexOf扩展,否则应该是错的吧
类似于这样:
JScript code
Array.prototype.indexOf=function(a){
    return this.toString().indexOf(a);
};
alert(attrs.indexOf(n))