如果我有类似的话:
<a>Content 1</a>
<a>Content 2</a>
<a>Content 3</a>
我想得到锚标签之间的内容(被点击的单词),我该怎么做?链接是动态显示的,因此我无法向其添加id
属性。 (我想我不能,至少。)
答案 0 :(得分:3)
这应该可以选择全部:
$('a').each(function() { $(this).text(); /* do something with it */ });
如果你想在锚标签上获得click事件,但只有那些没有id或class的人,请试试这个:
$('a').not('a[id]').not('a[class]').click(function() { $(this).text(); ... });
如果您只希望执行一次操作:
$('a').not('a[id]').not('a[class]').one("click", function() { $(this).text(); ... });
答案 1 :(得分:1)
您可以使用与这些标记匹配的任何CSS选择器来为它们获取jQuery对象。
然后,您可以使用text()
以纯文本格式获取标记内容,或使用html()
获取直接html代码,包括任何嵌套标记。
示例:
$('a').each(function() {
alert($(this).text());
});
答案 2 :(得分:1)
如果链接实际上是在页面已经提供给客户端后动态构建的,那么您将需要使用标识元素包装<a>
标记,然后向包装元素添加事件侦听器。
如果您想对页面上的所有链接使用此行为,请使用:
$('a').click(
function() {
var link_text = $(this).text();
//Do something with link_text
});