如何获取以单词开头的跨度 ID

How to get the span id which starts with a word

本文关键字:开头 ID 单词 何获取 获取      更新时间:2023-09-26

实际上我有两个跨度,像这样的 date_eformtime_eform 这样的 id

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

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

请帮我解决这个问题。

你需要从选择器开始

所以

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

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

试试这个:

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

这应该有效:

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

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

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

这应该可以做到:

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

属性的 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
    }
});

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

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

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

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

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

我建议你使用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/