这是我需要的一种随意的东西。基本上我的设置是这样的:
<div class="classname">
<h3>
<a class="anchor_classname" title="some_title">..</a>
</h3>
</div>
上述html段在页面上重复所有现有记录。
我需要做的是:使用Jquery,我想从嵌套锚点(即“some_title”)中获取工具提示文本,并将此文本设置为包含div的'title'属性。我需要为每个标题文本都是唯一的所有记录执行此操作。这可能与我已经显示的设置有关,还是我需要一些唯一的标识符来区分记录?有人可以用jquery描述如何实现这一目标吗?感谢。
更新:使用David的建议我设法使用他的代码并稍微改变它如下:
$('a.anchor_classname').each(function () {
var title = $(this).attr("title"); //line 1
var div = this.parentNode.parentNode; //line 2
div.title = title; //line 3
})
如何将第2行和第3行转换为严格使用jquery函数,如parent()和attr()。 (它按原样工作,但我认为使用标准jquery函数进行合规会更好一些。)
答案 0 :(得分:2)
以这种方式复制信息会让我觉得可能对可访问性有害(或者至少会刺激屏幕阅读器用户),并通过设置链接样式来填充h3
和h3
填写div
。
那就是说,这个未经测试的代码可能会完成这项工作:
jQuery('div.classname > h3 > a.anchor_classname').each(function () {
var title = this.title;
var div = this.parentNode.parentNode;
div.title = title;
})
或者更慢,效率更低的jQuery-where-native-DOM-would-do方法:
jQuery('div.classname > h3 > a.anchor_classname').each(function () {
var jq = jQuery(this);
var title = jq.attr('title');
var div = jq.parent().parent();
div.attr('title', title);
})