Javascript 动态分配数据角色属性
我想在调用jQuery Mobile的JavaScript之前可以添加以下内容:Javascript 动态分配数据角色属性,javascript,jquery-mobile,Javascript,Jquery Mobile,我想在调用jQuery Mobile的JavaScript之前可以添加以下内容: $('section').data('role','page'); $('article').data('role','content'); 这样我就可以在HTML中简单地使用和标记,而不是指定和 但我认为它不起作用。你可以这样做: $('section').attr('data-role','page'); $('article').attr('data-role','content'); 您可以这样做: $
$('section').data('role','page');
$('article').data('role','content');
这样我就可以在HTML中简单地使用
和
标记,而不是指定
和
但我认为它不起作用。你可以这样做:
$('section').attr('data-role','page');
$('article').attr('data-role','content');
您可以这样做:
$('section').attr('data-role','page');
$('article').attr('data-role','content');
试试这个:
头部:
<script src="jquery.js"></script>
<script src="YOUR-SCRIPT.js"></script>
<script src="jquery-mobile.js"></script>
$(document).bind("mobileinit", function(){
$('section').data('role','page');
$('article').data('role','content');
/* OR */
$('section').attr('data-role','page');
$('article').attr('data-role','content');
});
参考资料:试试这个:
头部:
<script src="jquery.js"></script>
<script src="YOUR-SCRIPT.js"></script>
<script src="jquery-mobile.js"></script>
$(document).bind("mobileinit", function(){
$('section').data('role','page');
$('article').data('role','content');
/* OR */
$('section').attr('data-role','page');
$('article').attr('data-role','content');
});
参考资料:为什么需要“数据-”属性?
除其他问题外,它们还可能导致内存泄漏。jQuery已经有了一个内置的“数据”,并且正在运行。它不设置数据属性,而是使用更好、更高效的方法存储与JavaScript DOM选择器关联的数据
如果由于某种原因没有内置“数据”,那么应该更新jQuery。这是一个垫片,主要是为了让你看到它是如何工作的。它不是一个完整的垫片,它只是一种非常简单的方法,通过数据键的元素选择器来存储数据。删除元素时我不会删除数据,因此我的实现可能会导致内存泄漏。不过,这只是一个例子
if ($(window).data === undefined) {
$.fn.data = (function () {
var storage = {};
return function data (name, val) {
var id = $(this).selector;
storage[id] = storage[id] || {};
if (val === void 0) {
return storage[id][name];
}
storage[id][name] = val;
return $(this);
}
}());
}
var foo = $('section').data('role','page');
var bar = $('article').data('role','content');
foo.text(foo.data('role'));
bar.text(bar.data('role'));
请注意,警报没有运行,因此我的垫片甚至没有被使用。为什么需要“数据-”属性?
if ($(window).data === undefined) {
$.fn.data = (function () {
var storage = {};
return function data (name, val) {
var id = $(this).selector;
storage[id] = storage[id] || {};
if (val === void 0) {
return storage[id][name];
}
storage[id][name] = val;
return $(this);
}
}());
}
var foo = $('section').data('role','page');
var bar = $('article').data('role','content');
foo.text(foo.data('role'));
bar.text(bar.data('role'));
除其他问题外,它们还可能导致内存泄漏。jQuery已经有了一个内置的“数据”,并且正在运行。它不设置数据属性,而是使用更好、更高效的方法存储与JavaScript DOM选择器关联的数据
如果由于某种原因没有内置“数据”,那么应该更新jQuery。这是一个垫片,主要是为了让你看到它是如何工作的。它不是一个完整的垫片,它只是一种非常简单的方法,通过数据键的元素选择器来存储数据。删除元素时我不会删除数据,因此我的实现可能会导致内存泄漏。不过,这只是一个例子
if ($(window).data === undefined) {
$.fn.data = (function () {
var storage = {};
return function data (name, val) {
var id = $(this).selector;
storage[id] = storage[id] || {};
if (val === void 0) {
return storage[id][name];
}
storage[id][name] = val;
return $(this);
}
}());
}
var foo = $('section').data('role','page');
var bar = $('article').data('role','content');
foo.text(foo.data('role'));
bar.text(bar.data('role'));
请注意,警报没有运行,因此我的垫片甚至没有被使用。您的jQuery调用可能在jQuery mobile加载后运行。我可以向jQuery mobile JavaScript添加一个延迟属性,以确保它最后运行吗?请告诉我您何时要添加它,我将为您提供一个示例?它可以通过多种方式完成。我相信它需要在脚本src=“//code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.js”>@MikeLegacy之前运行,那不是我!我向上投票,但不记得曾经向下投票过任何人。你的jQuery调用可能在jQuery mobile加载后运行。也许我可以向jQuery mobile JavaScript添加一个延迟属性,以确保它最后运行?告诉我你想何时添加它,我会给你举个例子?它可以通过多种方式完成。我相信它需要在脚本src=“//code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.js”>@MikeLegacy之前运行,那不是我!我投票支持别人,但不记得曾经投票反对过任何人。哈哈,谢谢你,伙计。没什么不好的感觉,哈哈,我提交后3秒就被否决了。我就像WTF lolWell,你的答案其实是公认的,因为这是最干净的解决方案。谢谢你,伙计,很高兴我能帮上忙。哈哈,谢谢你,伙计。没什么不好的感觉,哈哈,我提交后3秒就被否决了。我就像WTF lolWell,你的答案实际上是被接受的,因为它是最干净的解决方案。谢谢你,伙计,很高兴我能帮上忙。请解释你的答案,不要只发布一段代码。请解释你的答案,不要只发布一段代码。
if ($(window).data === undefined) {
$.fn.data = (function () {
var storage = {};
return function data (name, val) {
var id = $(this).selector;
storage[id] = storage[id] || {};
if (val === void 0) {
return storage[id][name];
}
storage[id][name] = val;
return $(this);
}
}());
}
var foo = $('section').data('role','page');
var bar = $('article').data('role','content');
foo.text(foo.data('role'));
bar.text(bar.data('role'));