Javascript 单击一个div并获取另一个div的id

Javascript 单击一个div并获取另一个div的id,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想单击一个元素并从另一个与它无关的div获取id 我试过这个: $(.map_flag”)。在(“单击”,函数(){ var目标=($(this).attr(“数据模式”); $(“#”+目标).fadeIn(300,函数(){ $(“#”+目标)。查找(“.modal#u content”)。fadeIn(300); }); }); 占位符 我想你需要的是这样的东西: <button class="map_flag" data-modal="map_1"> <

我想单击一个元素并从另一个与它无关的div获取id

我试过这个:

$(.map_flag”)。在(“单击”,函数(){
var目标=($(this).attr(“数据模式”);
$(“#”+目标).fadeIn(300,函数(){
$(“#”+目标)。查找(“.modal#u content”)。fadeIn(300);
});
});

占位符


我想你需要的是这样的东西:

<button class="map_flag" data-modal="map_1"> 
    <img src="img/image_1.png" alt="image one" >
</button>

<div id="map_1">
    <p class="modal_content">place holder</p>
</div>

我想你需要的是这样的东西:

<button class="map_flag" data-modal="map_1"> 
    <img src="img/image_1.png" alt="image one" >
</button>

<div id="map_1">
    <p class="modal_content">place holder</p>
</div>

首先,自定义属性需要从
data-
开始,而不是从
data开始(注意破折号/下划线)

然后

首先在
$(“#map_1”)
中淡入淡出,然后在完成后,在
$(“#map_1.modal”)中淡入淡出。不确定是否有意这样做,但如果
#map_1
元素没有其他子元素,则可能只希望淡入一次


对于其余部分,您的代码应该可以正常工作。

首先,自定义属性需要从
数据-
开始,而不是从
数据开始(请注意虚线/下划线)

然后

首先在
$(“#map_1”)
中淡入淡出,然后在完成后,在
$(“#map_1.modal”)中淡入淡出。不确定是否有意这样做,但如果
#map_1
元素没有其他子元素,则可能只希望淡入一次


对于其余部分,您的代码应该可以正常工作。

我对自己的jquery技能不是很有信心,但是您不需要在淡入之前“淡出”吗?
[

我对自己的jquery技能不是很有信心,但你不需要在淡入之前“淡出”吗?
[

您现在遇到的实际问题是什么?看起来不错,虽然没有模态内容或模态窗口元素,但它可以获取数据的名称,模态很好,但不会淡入。我想我可能是把引用($(“#“+objective”)弄错了或是什么
#[elementName]
(jQuery模拟CSS选择器,使用
#
表示ID,使用
表示类,等等…)保留给元素的ID,而不是数据属性。您现在遇到的实际问题是什么?看起来很好,虽然没有模式内容或模式窗口元素。它获取数据的名称,但不会淡入。我想我可能是把引用($(“#“+”objective))弄错了或是什么
#[elementName]
(jQuery模拟CSS选择器,对ID使用
#
,对类使用
,等等…)保留给元素的ID,而不是data-*属性。此外,我更改了您的代码,我将data_modal更改为data-modal。此外,我更改了您的代码,我将data_modal更改为data-modal。这取决于元素的初始样式。他没有共享CSS,但我想他确实有一些。可能有CSS默认为隐藏。我同意,@Barmarits set by display:none by default。这取决于元素的初始样式。他没有共享CSS,但我想他确实有一些。可能有CSS将其默认为隐藏。我同意,@Barmarits set by display:none by default
$("#" + objective).fadeIn(300, function(){
    $("#" + objective).find(".modal_content").fadeIn(300);
});