如何获得以单词开头的span id

时间:2011-05-11 15:55:34

标签: javascript jquery html

实际上我有两个带有date_eformtime_eform等ID的范围。

现在我必须得到这些ID ..并检查span id是否以date_开头,然后我必须执行一些逻辑。如果span id以time_开头,则为另一个操作。

 <span id='date_eform'></span><span id='time_eform'></span>

请帮助我。

7 个答案:

答案 0 :(得分:0)

您需要starts with selector

所以

$.each('span[id^="date_"]',function(){
   //your code here
});

$.each('span[id^="time_"]',function(){
   //your code here
});

答案 1 :(得分:0)

试试这个:

$("span[id^='date_']").something...    
$("span[id^='time_']").something-else...

答案 2 :(得分:0)

这应该有效:

$("span[id^={word}]")

其中{word}是您希望元素id开头的单词。

以下内容将有所帮助: http://api.jquery.com/attribute-starts-with-selector/

答案 3 :(得分:0)

这应该这样做:

$('[id^="date_"]')

答案 4 :(得分:0)

属性的jQuery语法以:

结尾
$('span[id$="_eform"]')

属性的jQuery语法以:

开头
$('span[id^="_eform"]')

属性的jQuery语法包含:

$('span[id*="_eform"]')

根据我的理解,您应该做以下事情:

$('span[id$="_eform"]')

然后,使用each方法,测试jQuery-object id是date还是time

var elements = $('span[id$="_eform"]');
elements.each(function() {
    if(this.id.substring(0,5)=='date') {
        // handle dates
    } else if(this.id.substring(0,5)=='time_') {
        // handle times
    }
});

答案 5 :(得分:0)

您可以使用多种方式来实现这一点,其中大多数问题都列在其他答案中。

但是,如果您只有2个元素,为什么不直接使用ID访问它们?一旦对他们采取行动,也许你想对他们做些什么?在这种情况下,不能使用此处列出的所有方法。

如果您只想绑定两个选择器,可以使用

$('#date_eform, #time_eform')...

你所要求的内容在你的问题背景下没有多大意义。如果您添加更多详细信息,可能有更好的方法来满足您的要求。

答案 6 :(得分:0)

我建议您使用idclass执行此任务;它会让它更清晰。示例如下:

HTML:

<span id='date' class='eform'></span>
<span id='time' class='eform'></span>

JavaScript(使用jQuery):

$(".eform").each(function() {
    switch (this.id) {
    case "date":
        // do something
        break;

    case "time":
        // do something
        break;

    default:
        // "id" is not a case
    }
});

此处示例:http://fiddle.jshell.net/9hcfx/