我想在以下html中检索范围标题。
<div id="header_customerid_d">
<div>
<span title="This is my span"></span>
</div>
</div>
我试过跟随jquery bt我得到了“未定义”警告。
var CustomerId = $('#header_customerid_d',this).children("div").children("span").attr("title");
alert(CustomerId);
所以请为我提供正确的解决方案。
谢谢, Bharat Mhatre
答案 0 :(得分:6)
var CustomerId = $("#header_customerid_d span").prop("title");
应该做到这一点。查看示例小提琴here。
请注意,prop
函数仅适用于jQuery 1.6+。如果您使用的是旧版本的jQuery,请改用attr
:
$("#header_customerid_d span").attr("title");
答案 1 :(得分:0)
<强>尝试:强>
$('div#header_customerid_d').find("span").attr("title");
如果div中有多个跨度,则必须使用jQuery.each()来获取每个。
答案 2 :(得分:0)
您不需要或希望在jQuery选择器调用中包含this
。
将您的代码更改为:
var CustomerId = $('#header_customerid_d').children("div").children("span").attr("title");
alert(CustomerId);
它会起作用。
或者,如果你想更简洁,那就像其他一些优秀的温柔人士一样建议!
伊恩。
答案 3 :(得分:0)
假设您不习惯使用id
,您可以随时采用“订单”。
$('span')[0]
这段代码为您提供了您感兴趣的第一个span
元素。但是,如果我稍微修改您的代码:
<div id="header_customerid_d">
<div>
<span id="sp_1" title="This is my span"></span>
</div>
</div>
查看更简单的jQuery中的id
:
$('#sp_1')[0].title
将返回您感兴趣的范围标题。网上有很多jQuery教程,但几乎所有教程都建议您为每个HTML元素添加id
。这是你的朋友。
因此,代码变为:
var CustomerId = $('#sp_1')[0].title;
alert(CustomerId);
当然,您可能会回来说“我不能控制所有HTML文档中”id“属性的分配,请给我一些别的东西!”。在那种情况下,
$('#header_customerid_d').children("div").children("span")[0].title
应该为您提供title
属性。您也可以使用它是getter和setter,即
$('#header_customerid_d').children("div").children("span")[0].title = "blablabla"
将标题设置为“blablabla”。