<p> 使用 JavaScript 或 jQuery 或 Angular 添加 id



我有一个动态生成的HTML文档。

它有一堆包含文本的<p>标签。我正在尝试在用户单击该特定文本时选择<p>。不幸的是,我不允许将id添加到可用于选择特定测试块的<p>标签中。

所以我需要找到一种方法,使用 javascript 或 jQuery 或 angular 将 id 动态添加到<p>标签中。

我见过一些使用 jQuery.attr("id", "newId")的解决方案,但它需要一个选择器,我不知道该用什么作为选择器。

谁能提出一些建议?

也许这会有所帮助:

$(function(){
$("p").on("click", function(){
$(this).attr('id', 'value');
});
})

http://plnkr.co/edit/mvKZBopcwuVqAJV7vq7j?p=preview

假设页面上有所有且只有感兴趣的 p 元素,请尝试以下操作:

jQuery( 'p' ).on( 'click', function() {
jQuery( this ).attr( 'id', 'yourID' );
} );

当然,您需要一些代码来管理渐进式 ID,因为它们在页面上必须是唯一的。

为了更具体地给出一个制作渐进式 id 的示例,假设您的所有 p 元素都在一个容器中:

<div id="target_paragraphs">
<p>...some text 1..</p>
<p>...some text 2..</p>
<p>...some text 3..</p>
<p>...some text 4..</p>
...
<p>...some text n..</p>
</div>

您可以使用此脚本:

count = 0;
jQuery( '#target_paragraphs p' ).on( 'click', function() {
jQuery( this ).attr( 'id', 'paragaraph_ID_' + count );
count++;
} );

如果不查看您的代码,我们就无法真正看到问题,但据我了解,您需要在所有p标签上都有一个点击事件吗? 您可以将事件绑定到所有p标签,如下所示: $("p"(.click(function(event({}(;

在函数内部,this将成为您单击的元素。

最新更新