Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何提醒所有动态id';在一个范围之内_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何提醒所有动态id';在一个范围之内

Javascript 如何提醒所有动态id';在一个范围之内,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我这里有一个动态表,每个单元格都有不同的动态id。如何提醒动态id在一个范围内?在这里,我想提醒2014年8月1-1-3日至2014年8月1-1-7日期间的所有id,从heighlight类开始和结束id <table> <tbody> <tr> <td id="1-1-3-Aug-2014" class="heighlight"></td> <td id="

我这里有一个动态表,每个单元格都有不同的动态id。如何提醒动态id在一个范围内?在这里,我想提醒2014年8月1-1-3日至2014年8月1-1-7日期间的所有id,从heighlight类开始和结束id

<table>
    <tbody>
        <tr>
            <td id="1-1-3-Aug-2014" class="heighlight"></td>
            <td id="1-1-4-Aug-2014" class="heighlight"></td>
            <td id="1-1-5-Aug-2014" class="heighlight"></td>
            <td id="1-1-6-Aug-2014" class="heighlight"></td>
            <td id="1-1-7-Aug-2014" class="heighlight"></td>
            <td id="1-1-8-Aug-2014"></td>
            <td id="1-1-9-Aug-2014"></td>
            <td id="1-1-10-Aug-2014"></td>
        </tr>
    </tbody>
</table>

案例1。如果所有元素都具有
heighlight
类:

$("td.heighlight").each(function() {
    alert($(this).attr("id"));
});
案例2。如果所有元素都没有高亮度,但至少有两个元素有:

var firstElement = $("td.heighlight:eq(0)");
var elementsBetween = firstElement.nextUntil('td.heighlight');
var lastElement = elementsBetween.last().next();

alert(firstElement.attr("id"));
elementsBetween .each(function() {
    alert($(this).attr("id"));
});
alert(lastElement.attr("id"));

我编写了一个示例代码(没有Jquery),不确定这是否正是您想要的:

此代码对范围使用两个变量:
start
last
(即“日期”ID中的“日期”)。 id在范围内且具有高亮度等级的每个
td
的值将被警告

 var start = 3, last = 9, //your range
    output="";

while ( start <= last ) {
    var id = "1-1-"+start+"-Aug-2014",
        elem = document.getElementById(id);    
    if ( elem.className == "heighlight" ) {
        output += "id: "+id+", value: "+elem.innerHTML + ", class= \"heighlight\"\n\n";       
    }    
    start++;
}

alert(output);
var start=3,last=9,//您的范围
输出=”;

而(启动jQuery方式

$('.heighlight').each(function () {
    alert( $(this).attr("id") );
});

这里是另一个代码:

 var start = 3, last = 9, //your range
    output="";

while ( start <= last ) {
    var id = "1-1-"+start+"-Aug-2014",
        elem = document.getElementById(id);    
    if ( elem.className == "heighlight" ) {
        output += "id: "+id+", value: "+elem.innerHTML + ", class= \"heighlight\"\n\n";       
    }    
    start++;
}

alert(output);
这一个是针对所有的
td
heighlight
类,并提醒他们的
id
s:

 var start = 3, last = 9, //your range
    output="";

while ( start <= last ) {
    var id = "1-1-"+start+"-Aug-2014",
        elem = document.getElementById(id);    
    if ( elem.className == "heighlight" ) {
        output += "id: "+id+", value: "+elem.innerHTML + ", class= \"heighlight\"\n\n";       
    }    
    start++;
}

alert(output);
JS:

var tds=document.getElementsByClassName(“heighlight”),
输出=”;
对于(i=0;i
没有jQuery,您可以执行以下操作:

// Collect candidate elements
var els = document.querySelectorAll('.heighlight[id$=Aug-2014]');

// Filter for range
els = [].filter.call(els, function(el){
  var n = el.id.split('-')[2];
  return n >= 3 && n <= 7;
});
//收集候选元素
var els=document.queryselectoral('.heighlight[id$=2014年8月]);
//范围过滤器
els=[].filter.call(els,函数(el){
变量n=el.id.split('-')[2];

返回n>=3&&n=3&&n要获取具有
突出显示的
类的ID吗?我正在尝试在具有类的范围之间发出警报heighlight@kannanD.S-您的示例不是很好,因为可以单独使用类来选择范围。您可以使用选择器,如
.heighlight[id$=Aug-2004]
然后过滤范围
1-1-3
1-1-7
。你的意思是“高亮度”还是“高亮度”?您还需要指定heighlight类。您的意思是,通过使用类来警告id吗?不,OP需要id范围和heighlight类,而不仅仅是范围。是的,但我认为假设没有其他元素具有相同的类是不好的,
td。heighlight
具有较少的副作用。我认为最好是为id分配一个id表格和用法:
$('#someTableId.heighlight')
。下面的投票人是否愿意解释一下,答案有什么问题?
var els = $('.heighlight[id$=Aug-2014]').filter(function(i, el) {
  var n = el.id.split('-')[2];
  return n >= 3 && n <= 7;
});