缺少 ID 的 DOM 元素的唯一签名?

Unique signature for a DOM element in absense of ID?

DOM 元素在存在时由其 "id" 值标识。但是如果没有它,我们可以编写一个生成 "id" 的函数吗?如果多次调用该函数需要 return 同一 DOM 元素的相同 ID。

每个元素都有其唯一指向它的 css 选择器,您可以添加 id 例如 jquery:

$(*unique selector*).attr('id', 'element_id');

然后通过此 id 引用此元素。

您也可以每次都通过 css 选择器调用此元素 - 如果它足够独特,它可以像 ID 一样工作,但会引入额外的开销。

例如,您问题的选择器是:

var el = $('#question table td.postcell div.post-text p');

你可以设置它的id:

el.attr('id','your_question');

现在您可以通过这个新 ID 引用它了:

alert($('#your_question').text());

在您的 Firebug 控制台中尝试。