Javascript Can';使用Jquery datepicker插件时,无法使用Jquery找到父div

Javascript Can';使用Jquery datepicker插件时,无法使用Jquery找到父div,javascript,jquery,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui Datepicker,我在我的网站上使用了一个jquery日期选择器插件。我写的日历只有在点击a标签时才会显示。需要的是,一旦我点击日历中的日期,我需要得到日期选择器的父div。因此,我编写了以下脚本。我无法获取名为self\u calendar的div,这是我的第四个父级。当我尝试使用Jquery发出警报时,我会收到一个未定义的警报。有人能告诉我一个方法,以便我获取包含日期选择器的父级div <a href="" title="calendar" class="calendar">calendar<

我在我的网站上使用了一个
jquery日期选择器插件
。我写的日历只有在点击
a标签
时才会显示。需要的是,一旦我点击日历中的日期,我需要得到
日期选择器的父div。因此,我编写了以下脚本。我无法获取名为
self\u calendar
的div,这是我的第四个父级。当我尝试使用
Jquery
发出警报时,我会收到一个
未定义的
警报。有人能告诉我一个方法,以便我获取包含
日期选择器的父级
div

<a href="" title="calendar" class="calendar">calendar</a>
    <div id="self_calender">
        // Jquery date Picker
    </div>

我想你需要的是

$(this).closest('.ui-datepicker') // which ever selector applies to the desired element

我想你需要的是

$(this).closest('.ui-datepicker') // which ever selector applies to the desired element
尝试:

如果jquery是新的:

$(document).on('click','.ui-datepicker-calendar .ui-state-default',function(){
        alert($(this).parents('#self_calender').html());
})
还有一个主意。您的
self\u日历
是公正的id,因此它的应该是唯一的。然后:

$(document).on('click','.ui-datepicker-calendar .ui-state-default',function(){
            alert($('#self_calender').html());
    })
尝试:

如果jquery是新的:

$(document).on('click','.ui-datepicker-calendar .ui-state-default',function(){
        alert($(this).parents('#self_calender').html());
})
还有一个主意。您的
self\u日历
是公正的id,因此它的应该是唯一的。然后:

$(document).on('click','.ui-datepicker-calendar .ui-state-default',function(){
            alert($('#self_calender').html());
    })

因为元素有一个id,这意味着您可以专门为该元素使用选择器:

var container = $("#self_calendar");

如果您有多个这样的东西,那么您不应该应用相同的id,也不会有选择错误元素的问题。

因为元素有一个id,这意味着您可以为该东西专门使用选择器:

var container = $("#self_calendar");

如果您有不止一个这样的东西,那么您不应该应用相同的id,也不会有选择错误元素的问题。

您不需要通过DOM遍历来实现您想要做的事情

如果文件中的HTML代码如下所示:

<a href="" title="calendar" class="calendar">calendar</a>
  <div id="self_calender" class='targetParent'>
    <input id='dateHolder' />
</div>

您不需要通过DOM遍历来实现您想要做的事情

如果文件中的HTML代码如下所示:

<a href="" title="calendar" class="calendar">calendar</a>
  <div id="self_calender" class='targetParent'>
    <input id='dateHolder' />
</div>

你可以发布呈现的html吗?为什么不使用最近的(“self#u日历”)?另外,您使用的是哪个jQuery版本
.live()
从1.7版开始就不推荐使用。在附加事件处理程序时,请使用
.on()
。@mishik为什么要使用
最近的
是因为它是一个
id
?应该只有一个。输入不是ui datepicker的父项,请检查呈现的html是否可以发布呈现的html?为什么不使用最近的(“自日历”)?另外,您使用的是哪个jQuery版本
.live()
从1.7版开始就不推荐使用。在附加事件处理程序时,请使用
.on()
。@mishik为什么要使用
最近的
是因为它是一个
id
?应该只有一个。输入不是ui datepicker的父项,请检查呈现的HTML是否仍需要父项。做
$(this).next()会更简单;否则,您需要链接
.parent()到您的解决方案。@Outlooker这没有得到您所说的想要的父项。仍然需要父项。做
$(this).next()会更简单;否则,您需要链接
.parent()
到您的解决方案。@Outlooker这没有得到您所说的父项。我想OP想知道哪个输入触发了ui日期选择器对话框(如果有多个输入)。我想OP想知道哪个输入触发了ui日期选择器对话框(如果有多个输入)