Javascript 查找包含选择器id的元素+;文本
我不知道该怎么做 我的页面使用PHP从数据库中提取产品代码,并使用它们为元素生成ID。例如:Javascript 查找包含选择器id的元素+;文本,javascript,jquery,html,Javascript,Jquery,Html,我不知道该怎么做 我的页面使用PHP从数据库中提取产品代码,并使用它们为元素生成ID。例如:$(“#touch-'.$productcode.”)和$(“#popup-'.$productcode.”)”) 我需要这样做,当单击一个元素时,jQuery将在文档中找到一个元素,该元素包含选择器id的最后11个字符和其他文本 e、 g.选择器$(此)(其生成的id为#touch-123-456-789)将获得自己的id,删除除最后11个字符以外的所有字符(产品代码),将弹出-附加到开头,然后查找元素
$(“#touch-'.$productcode.”)
和$(“#popup-'.$productcode.”)”)
我需要这样做,当单击一个元素时,jQuery将在文档中找到一个元素,该元素包含选择器id的最后11个字符和其他文本
e、 g.选择器
$(此)
(其生成的id为#touch-123-456-789
)将获得自己的id,删除除最后11个字符以外的所有字符(产品代码),将弹出-
附加到开头,然后查找元素$(“#popup-123-456-789”)
并执行一个操作。像这样的事情怎么样
<div class='touch' id='touch-123-456-789'> bla bla </div>
这是你的Html
<div class="pop-up" value= "123-456-789">one</div>
<div class="pop-up" value="123-123-123">two</div>
尝试破坏您的id,如:
$('.touch').click(function () {
var id = $(this).attr('id');
id = id.split(/-(.+)?/)[1];
$('#popup-' + id).html("Hello changed");
});
此处的.split()将在第一次出现“-”时分割。所以你可以用这个做任何事。
假设html代码中有两个元素:
<div class='touch' id='touch-123-456-789'> Touch me </div>
<div class="popup" id="popup-123-456-789"></div>
触摸我
这可能会有所帮助
HTML:
示例元素1
样本元素2
样本元素3
样本元素4
样本元素5
JS:
(i=0;i)的
$('.touch').click(function () {
var id = $(this).attr('id');
id = id.split(/-(.+)?/)[1];
$('#popup-' + id).html("Hello changed");
});
<div class='touch' id='touch-123-456-789'> Touch me </div>
<div class="popup" id="popup-123-456-789"></div>
<div class="element" id="#touch-123-456-790">Sample element1</div>
<div class="element" id="#touch-123-456-791">Sample element2</div>
<div class="element" id="#touch-123-456-792">Sample element3</div>
<div class="element" id="#touch-123-456-793">Sample element4</div>
<div class="element" id="#touch-123-456-794">Sample element5</div>
for (i = 0; i <= $(".element").length; i++) {
if (i < $(".element").length) {
var id = $(".element").eq(i).attr("id");
id = "popup-" + id.substring(7);
$(".element").eq(i).attr("id", id);
} else {
$("#popup-123-456-792").css('color','blue');
}
}