使用特殊格式制作js代码

时间:2015-06-24 07:01:03

标签: javascript jquery

我想在date-type中获取date-titlediv.Img并将其作为jquery的以下格式,最后将其放入jQuery函数中,它是怎么回事?

这是div.Img

<div class="Img" date-type="http://fancyapps.com/fancybox/demo/1_b.jpg" date-title="manual 1st title"></div>
<div class="Img" date-type="http://fancyapps.com/fancybox/demo/2_b.jpg" date-title="2nd title"></div>
<div class="Img" date-type="http://fancyapps.com/fancybox/demo/3_b.jpg" date-title="3rd title"></div>

这是my format:我希望将结果作为date-type中的date-titlediv.Img{ }, { href : 'http://fancyapps.com/fancybox/demo/1_b.jpg', title : 'manual 1st title' }, { href : 'http://fancyapps.com/fancybox/demo/2_b.jpg', title : '2nd title' }, { href : 'http://fancyapps.com/fancybox/demo/3_b.jpg', title : '3rd title' }

[re.sub("/\*.+\*/", "", m).replace('\n', '').strip() for m in re.findall("{(.+?)};", c_file_as_string, re.S)]

请在jsfiddle.net

中举例说明

3 个答案:

答案 0 :(得分:1)

自定义属性应为data-*,前缀不是date-*

<div class="Img" data-type="http://fancyapps.com/fancybox/demo/1_b.jpg" data-title="manual 1st title">1</div>

然后.map()可以与.data()

一起使用
var arr = $('div.Img').map(function (elem) {
    return {
        href: $(this).data('type'),
        title: $(this).data('title')
    }
}).get();

console.log(arr);

Fiddle example

答案 1 :(得分:0)

以下是一个有效的代码段示例。

function getDivInfo($div) {
  return {
    "href": $div.attr("date-type"),
    "title": $div.attr("date-title")
  };
}

$(function() {
  var div_info = [];
  
  $('div.Img').each(function() {
    div_info.push(getDivInfo($(this)));
  });
  
  console.log(div_info);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="Img" date-type="http://fancyapps.com/fancybox/demo/1_b.jpg" date-title="manual 1st title"></div>
<div class="Img" date-type="http://fancyapps.com/fancybox/demo/2_b.jpg" date-title="2nd title"></div>
<div class="Img" date-type="http://fancyapps.com/fancybox/demo/3_b.jpg" date-title="3rd title"></div>

请注意,自定义属性应以data-开头,而不是date-

答案 2 :(得分:0)

在Jquery中使用 .map()

  

$ .map()方法将函数应用于数组中的每个项目   对象并将结果映射到新数组

var res = $(".Img").map(function() {
    return {"href":$(this).attr('date-type'),
            "title":$(this).attr('date-title')
           }
}).get();

 console.log(res);

Fiddle