<div id="container_security" class="ui-dialog-content ui-widget-content" style="display: block; width: auto; min-height: 0px; height: 485.40000009536743px;">
<div class="container_sec_class_container" style="display: block;">
<div class="cont_sec_sec" style="height: 70px;">
<p class="container_title">
Name
</p>
<input id="container_name" readonly="readonly" type="text">
<p class="container_secclass_title">Security Class</p>
<dl class="container_security_class dropdown">
<dt>
<span class="parent">
<span class="container_secclass_dropdown">Shipping and Receiving</span>
在上面的代码中,我想将title属性设置为上面DOM树的最底层元素。 我想在span为class的span下设置所有子跨度的标题。
我正在尝试下面编写的代码,但它无法正常工作
var dropDownItem = $('#container_security > div > dl > dt > span > span');
dropDownItem.attr('title', dropDownItem.val());
答案 0 :(得分:3)
我建议使用后代选择器(而不是一系列脆弱的子选择器)及其类:
var dropDownItem = $('#container_security .container_secclass_dropdown');
dropDownItem.attr('title', dropDownItem.val());
但请注意,val
不适用于span
元素(仅限表单字段),因此dropDownItem.val()
部分没有意义。也许你想要.text()
。
答案 1 :(得分:1)
试试这个:
$spanelements = $("#container_security .container_secclass_dropdown");
$spanelements.attr("title", $spanelements.text());
代码说明:
它几乎选择id为container_security
的div,然后向下看为它的后代,然后当它找到类为.container_secclass_dropdown
的元素时然后选择该元素,然后设置它的属性。
This问题可能会帮助您选择何种类型的选择器。
This问题可能有助于您选择.text()
或.val()
答案 2 :(得分:1)
只有在你想玩最后一个跨度时才试试这个
$('span:last').attr({title:$('span:last').text()})
或者如果所有父类都跨越,则使用
$(document).ready(function() {
$('span.parent').children().each(function() {
$(this).attr({title:$(this).text()});
});
});
答案 3 :(得分:1)
可能是这样的:正如你所说的那样,你想要将标题设置为范围为parent
的范围内的所有范围
$('.parent span').attr("title","Temp Title");
如果您有多个范围,请尝试以下操作..
$('.parent span').each(function() {
$(this).attr("title",$(this).html());
});
答案 4 :(得分:0)
此代码选择 DOM树最底层的所有元素,因此在这种情况下,选择最下面的span
。
$children = $("body").children();
while ($children.children().length > 0) {
$children = $children.children();
}
//Now the variable $children is the set of elements at the bottom-most level of DOM.
console.log($children.attr('title', "bottom-most element in DOM tree"));
<强> Fiddle demo 强>