相关疑难解决方法(0)

jquery使用连字符和区分大小写获取HTML 5数据属性

如何使用jquery获取数据属性.data()?在哪种情况下,html5 data-*属性转换为小写和camelcase?使用自定义属性存储数据时要遵循的主要规则是什么?

<input type="button" class="myButton" value="click me" data-productId="abc"/>
<input type="button" class="myButton" value="click me" data-product-id="abc"/>
<input type="button" class="myButton" value="click me" data-PRODUCT-ID="abc"/>
<input type="button" class="myButton" value="click me" data-ProDUctId="abc"/>
Run Code Online (Sandbox Code Playgroud)

html jquery html5 custom-data-attribute jquery-data

35
推荐指数
1
解决办法
2万
查看次数

将data-*属性转换为对象

我正在玩HTML5 的attr-data-*属性和相应的javascript 数据集

我正在做很多动态表单处理,所以我最终得到这样的东西:

<input data-feaux="bar" data-fizz="buzz"/>
Run Code Online (Sandbox Code Playgroud)

由于HTMLElement.dataset返回a DOM string map,我唯一可以弄清楚如何将其转换为本机对象的方法是:

var obj = JSON.parse(JSON.stringify(input_el.dataset))
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

编辑:

我为什么要这样做?假设我有很多很多这样的元素.我想循环遍历它们并将它们推入数组以便稍后处理,即

elements = document.querySelectorAll("input")
my_data_array = []
for(var i = 0; i < elements.length; i++) {
    my_data_array.push(elements[i].dataset)
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个对象数组,即[{feaux: "bar", fizz:"buzz"}....]我可以使用.

但是,当我没有转换DOM string map为对象时,数组不会被填充(即上面的代码不起作用)

编辑2

仔细观察,它实际上是一个DOM string map,而不是一个object.纠正原始问题中的拼写错误以反映这一点.

javascript data-binding html5

16
推荐指数
3
解决办法
9829
查看次数

从getElementsByTagName()获取属性的最佳方法?

我正在玩获取link标记的属性,似乎有几种方法来访问属性:

document.getElementsByTagName("link")[0]['media']
document.getElementsByTagName("link")[0].media
document.getElementsByTagName("link")[0].getAttribute('media')
document.getElementsByTagName("link")[0].attributes['media']
Run Code Online (Sandbox Code Playgroud)

它接近于荒谬的相同数据有多少路径.这些方法中的一种远远优于其他方法吗?

javascript attributes dom

8
推荐指数
1
解决办法
2万
查看次数

jQuery循环遍历HTML5数据属性

可能重复:
使用javascript/jQuery获取data-*属性列表

我有一系列看起来与此类似的对象:

<a data-type="file" data-path="/some/path" data-size="849858">Link</a>
Run Code Online (Sandbox Code Playgroud)

我想创建一个动态拉动每个数据属性的函数,所以如果我添加类似"data-icon"或任何其他数量的属性,函数仍会返回所有数据属性的数组,如:

{
    "type" : "file",
    "path" : "/some/path",
    ...
}
Run Code Online (Sandbox Code Playgroud)

arrays jquery custom-data-attribute

5
推荐指数
1
解决办法
1万
查看次数

jQuery - 使用正则表达式获取数据值

我有这样的html标签:

<il class="currItem" data-sourcemp3="http://**">
<il class="currItem" data-sourcemp4="http://**">
Run Code Online (Sandbox Code Playgroud)

我想得到这个数据值,即使这个mp3或mp4我写道:

var A = $('.currItem').attr("data-source(.+)")
console.log(A);
Run Code Online (Sandbox Code Playgroud)

要么:

var srcName = new RegExp(/data-source.+/g);
var A = $('.currItem').attr(srcName)
console.log(A);
Run Code Online (Sandbox Code Playgroud)

我得到"未定义"

我是怎么做到的 提前致谢

regex jquery

5
推荐指数
1
解决办法
487
查看次数