检查JavaScript中的div id

时间:2012-02-13 06:20:41

标签: javascript jquery html

我有关于日历的项目,起初我有1个日历,现在我想要另一个,但它们有不同的值。

<div id="cal">
....
</div>
<div id="calq">
....
</div>

我的问题是,如何在javascript中检查div id是否为“calq”?

如果div.id ==“calq”?

... 起初我有......

<script type="text/javascript">
    monthYear = Date.today();
    var cal = new Calendar();
    cal.generateHTML();
    $('#cal').html(cal.getHTML());
    setMonthPrice();
    setSpecialPrice()
</script>

然后我添加了

<script type="text/javascript">
    monthYear = Date.today();
    var calq = new Calendar();
    calq.generateHTML();
    $('#calq').html(calq.getHTML());
    setMonthQuantity();
    setSpecialQuantity();
</script>

setMonthQuantity()也被cal调用,我只希望setMonthQuantity()只针对calq

function setMonthQuantity()
{
    var weekdayBaseQuantity;
    weekdayBaseQuantity = {{ product.quantity }};

    $('td.calendar-day').append('<div class="dayquantity">' + weekdayBaseQuantity + '</div>');
    $('td.Sat .dayquantity, td.Sun .dayquantity').text( weekdayBaseQuantity );
}

4 个答案:

答案 0 :(得分:4)

确定存在,在干净的javascript中

if(document.getElementById("calq")!='undefined')
{
    // do something, it exists 
} 

使用jquery

if($("#calq").length)
{
    // do something, it exists 
}

要在干净的javascript中检查ID

if(this.getAttribute('id')=="calc")
{
    // do something, it exists 
}

使用jquery

if($(this).attr("id")=="calq")
{
    // do something, it exists 
}

答案 1 :(得分:2)

您可以通过Jquery进行检查。我想你想要制作类似switch的东西,并为每个div做一些操作。如果我是对的,你可以使用Jquery的each函数来循环div元素,并遵循检查id的条件。

if($(this).attr("id")=="calq")

答案 2 :(得分:1)

你走了:

if (​$('#calq').length === 1) {
 // there is id = calq
}​​​

答案 3 :(得分:1)

似乎最好的解决方案是将div传递给您正在调用的函数。这样你就知道你正在处理的div。 例如

<script type="text/javascript">
    monthYear = Date.today();
    var cal = new Calendar();
    cal.generateHTML();
    var calDiv = $('#cal');
    calDiv.html(cal.getHTML());
    setMonthPrice(calDiv);
    setSpecialPrice(calDiv)
</script>

<script type="text/javascript">
    monthYear = Date.today();
    var calq = new Calendar();
    var calqDiv = $('#cal');
    calqDiv.html(cal.getHTML());
    setMonthQuantity(calqDiv);
    setSpecialQuantity(calqDiv);
</script>

我假设$('td.calendar-day')在日历HTML中?如果是这样,setMonthQuantity就像

function setMonthQuantity(calDiv)
{
    var weekdayBaseQuantity;
    weekdayBaseQuantity = {{ product.quantity }};

    calDiv.closest('td.calendar-day').append('<div class="dayquantity">' + weekdayBaseQuantity + '</div>');
    calDiv.closest('td.Sat .dayquantity, td.Sun .dayquantity').text( weekdayBaseQuantity );
}