Javascript Jquery使用字符串动态地按id选择对象

Javascript Jquery使用字符串动态地按id选择对象,javascript,jquery,html,Javascript,Jquery,Html,我有一个使用情态动词的图像库。在图像模式或其外部,用户可以单击星形并将图像标记为收藏夹。最喜欢的图像有一个类,使明星改变其颜色为“金色”。如果用户在模式中标记了收藏夹,我还需要在模式外更改该图像的星形颜色 要做到这一点,我想我可以 <p id = "modal_counter" class = "hidden">number</p> 这不管用。Jquery尝试使用以下选择器查找对象: "#image_\n 2" 当然,它找不到。我尝试用正则表达式删除\n,但仍然不起作

我有一个使用情态动词的图像库。在图像模式或其外部,用户可以单击星形并将图像标记为收藏夹。最喜欢的图像有一个类,使明星改变其颜色为“金色”。如果用户在模式中标记了收藏夹,我还需要在模式外更改该图像的星形颜色

要做到这一点,我想我可以

<p id = "modal_counter" class = "hidden">number</p>
这不管用。Jquery尝试使用以下选择器查找对象:

"#image_\n 2"
当然,它找不到。我尝试用正则表达式删除\n,但仍然不起作用:

counter_processed = modal_counter.replace(/(<([^>]+)>)/ig,"");
counter\u processed=modal\u counter.replace(/(]+)>)/ig,”;

jQuery有一个方便的
trim
功能:

var modal_counter = div_parent.find('#modal_counter').text().trim();
从控制台尝试以下操作:

$.trim("\n\nHello\r\nThere\n")

查看如何删除前导和尾随空格?

jQuery有一个方便的
修剪功能:

var modal_counter = div_parent.find('#modal_counter').text().trim();
从控制台尝试以下操作:

$.trim("\n\nHello\r\nThere\n")

查看它如何删除前导和尾随空格?

在元素上使用
数据属性可能比获取文本内容更好。做:

<p id = "modal_counter" class = "hidden" data-counter="number">number</p>

这样,您就不会将javascript绑定到元素中的文本。

在元素上使用
数据属性可能比获取文本内容更好。做:

<p id = "modal_counter" class = "hidden" data-counter="number">number</p>
这样,您就不会将javascript绑定到元素中的文本。

假设您有:

<p id="modal_1" class="hidden">Img 1</p>

而不是以图像为目标,如:

<img id="image_1" src="someimage.jpg" alt="SEO">

如果你真的有:

<p id="modal_counter" class="hidden">3</p>
只需确保页面上没有重复的
modal_计数器
ID元素。ID必须是唯一的。

假设您有:

<p id="modal_1" class="hidden">Img 1</p>

而不是以图像为目标,如:

<img id="image_1" src="someimage.jpg" alt="SEO">

如果你真的有:

<p id="modal_counter" class="hidden">3</p>

只需确保页面上没有重复的
modal_计数器
ID元素。ID必须是唯一的。

ID属性在页面中应该是唯一的。某些原因导致插入换行符:id属性在页面中应该是唯一的。某些原因导致插入换行符:
var n = $('#modal_counter').text();  // "3"
$("#image_"+ n)                      // .fadeIn() or whatever...