jquery - id 选择器不工作,但类选择器工作。在选择器中使用变量
问题描述
当我尝试使用 id 选择器时,这不起作用:
$("<div>",{id:"o"+i,"class":"overlay"}).appendTo("#"+i);
$("<div>",{id:"te"+i,"class":"text"}).appendTo(".overlay");
$("#te"+i).html(id);
但是当我使用类选择器时这是有效的:
$("<div>",{"class":"overlay"}).appendTo("#"+i);
$("<div>",{"class":"text"}).appendTo(".overlay");
$(".text").html(id);
我的框架看起来像这样:
<div class = "GalleryandRate" id = "GalleryandRate">
<div id="gallery" onload="mygallery()">
<div class="movie">
<img src="SX300.jpg" alt="poster" width="250" height="350">
<div class="overlay">
<div class="text">a variable</div>
</div>
<div class="title">scooby doo</div>
<button class="nominate" ><i class="fa fa-plus-circle"></i> Nominate </button>
</div>
</div>
<div id="rate">
</div>
谢谢
更新:
由于人们问为什么在创建元素时不设置文本。有一个循环,对于 json 数据中的每部电影,每个地方都有一个关于海报叠加效果的特定描述。文本元素的 innerhtml 将是那一部电影的描述。
详细代码可以在https://github.com/UneSaltedFish/Nominate_Movie上看到,它也托管在https://unesaltedfish.github.io/Nominate_Movie/上,以查看我将光标放在图片上时的叠加效果。
解决方案
正如 Barmar 所说,我没有注意到,需要将 .overlay 更改为 #"o"+i
$("<div>",{id:"o"+i,"class":"overlay"}).appendTo("#"+i);
$("<div>",{id:"te"+i,"class":"text"}).appendTo("#o"+i);
$("#te"+i).html(id);
这很完美!
推荐阅读
- wpf - 如何删除 WPF 网格单元格之间的小边框?
- python - Python Watchdog 获取刚刚创建的文件名?
- visual-studio - Visual Studio 解决方案在构建时复制文件,但我找不到发生这种情况的位置
- c++ - 这种计算数组大小的方法不起作用?
- javascript - 如何检查对象的Javascript数组是否具有相同的值
- python - Python Discord Bot @commands.has_any_role 问题
- installation - 尝试创建扩展时出错:pg_stat_statement
- python-3.x - UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 的字节 0x80:读取文本文件时起始字节无效
- spring-boot - Spring Security OAuth2 支持 Facebook appsecret_proof
- json - 将 RESTResponse.Content 转换为 JSON 值或 JSON 数组 Delphi