2012-02-13 177 views
0

我有关于日历的项目,起初我有1个日历,现在我想有另一个,但他们有不同的值。检查是否在JavaScript中的div ID

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

我的问题是,我怎么能检查是否div ID为 “calq” 在JavaScript?

if 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); 
} 
+2

添加一些关于您正在使用的JavaScript的更多信息,这是一个foreach循环的一部分?你使用jQuery来获取你所有的div吗? – 2012-02-13 06:22:45

+0

我添加了我的其他代码..^_^ – gadss 2012-02-13 06:49:25

+0

你能不能显示你的'setMonthQuantity()'函数呢? – nnnnnn 2012-02-13 06:53:37

回答

3

要确定是否存在,在干净的JavaScript

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

使用jQuery

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

要检查ID,在干净的JavaScript

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

使用jQuery

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

感谢Heera你的代码可以帮助我,我选择这个:'if($(“#calq”)。length)' – gadss 2012-02-13 07:05:31

+0

欢迎,这将与jquery一起工作,希望你比我更了解。 – 2012-02-13 07:07:25

+1

'this.id'将和'this.getAttribute('id')'一样好用。 – nnnnnn 2012-02-13 08:02:21

2

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

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

this.id也可以正常工作,在任何可能的情况下总是可以更快地使用纯js :) – 2012-02-13 06:25:46

+0

是的,但@gadss并没有提供很多关于他想做什么的信息。所以,我写了更一般的用法。 – 2012-02-13 06:27:09

1

在这里你去:

if (​$('#calq').length === 1) { 
// there is id = calq 
}​​​ 
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); 
} 
+0

对那里最近的电话没有把握,用2秒钟的谷歌搜索发现它 – 2012-02-13 07:10:03