【发布时间】:2011-03-07 18:11:04
【问题描述】:
我已经在使用 id 和 title 但我需要再解析 2 位...
$(this).attr("title"); $(this).attr("id");
$(this).attr("custom1"); 会工作吗??
【问题讨论】:
-
你可以试着告诉我们:o)
标签: javascript jquery parsing attr
我已经在使用 id 和 title 但我需要再解析 2 位...
$(this).attr("title"); $(this).attr("id");
$(this).attr("custom1"); 会工作吗??
【问题讨论】:
标签: javascript jquery parsing attr
是的,顺便说一句,您可以一次设置多个属性:
$('.myselector').attr({
src: 'thefile.gif',
width: 200,
height: 300 });
【讨论】:
是的,您可以将它用于 HTML5 中的所有 data-attributes。这是添加额外属性的首选方式。
此外,所有data-* 属性都会自动添加到jQuery 的data() 对象中以便于访问
【讨论】:
如果您只想(通过名称)将某些数据与 DOM 元素相关联,最好使用“.data()”方法:
$(this).data('custom1', someValue);
“.data()”API 使编码到 HTML 中的 HTML5 样式的“data-foo”属性可访问:
var foo = $(this).data('foo'); // gets the "data-foo" attribute value from element
【讨论】:
.data“在所有方面”都不干净。使用.data 读写之间缺乏对称性:.data('custom', 'foo') 不会将data-custom="foo" 放入 DOM。 .attr 没有这个问题。您写入的任何 [原始] 都可以在 DOM 中访问。
是的,它有效,但这不是一个好主意。
如果你想在元素上存储一些数据,最好使用.data('foo', 'bar');。
【讨论】:
是的,你能做的最好的事情就是测试它。
<script>
$(document).ready(function() {
// Handler for .ready() called.
alert( "custom1 = " + $("#myField").attr("custom1") );
});
</script>
<div id="myField" custom1="My Custom Field"></div>
现在,您正在破坏标记,所以我建议将您的信息存储在 ALT 标记或 NAME 标记中以防止发生这种情况 ()。
【讨论】: