JS 选择所有 包含某个字符的id
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 选择所有 包含某个字符的id相关的知识,希望对你有一定的参考价值。
在html页面中 选择ID 含有 dz_的 有很多 (完整的ID名是 dz_9 dz_3 _后面都是数字) 然后遍历 打印出来当前ID 并把id 截取数字 怎么写
输出格式
alert("id"+ id + "截取的数字" + nub);
代码:
<html>
<head>
</head>
<body>
<input name="" type="text" id="1aa" />
<input name="" type="text" id="2aa" />
<input name="" type="text" id="3aa" />
<input name="" type="text" id="BB" />
<input type="button" value="test" onclick="showAA()" />
<script type="text/javascript">
function showAA()
var arrs = document.getElementsByTagName("input");
for(var i=0;i<arrs.length;i++)
if (arrs[i].id.indexOf("aa")!=-1)
alert(arrs[i].value);
</script>
</body>
</html>
还有一个方法:
就是给这些INPUT取相同的NAME, id是唯一的,但是name是可以重复的,如下:
<html>
<head>
</head>
<body>
<input name="aa" type="text" id="1aa" />
<input name="aa" type="text" id="2aa" />
<input name="aa" type="text" id="3aa" />
<input name="bb" type="text" id="BB" />
<input type="button" value="test" onclick="showAA()" />
<script type="text/javascript">
function showAA()
var arrs = document.getElementsByName("aa");
for(var i=0;i<arrs.length;i++)
alert(arrs[i].value);
</script>
</body>
</html> 参考技术A 用jquery1.10.1是这样做的:
$("body").find("*[id*='dz_']").each(function(i,ele)
var nstr = $(ele).attr("id");
alert("id"+nstr+"截取的数字"+nstr.substr(3,nstr.length));
);本回答被提问者和网友采纳 参考技术B 用jquery1.10.1是这样做的:
$("body").find("*[id*='dz_']").each(function(i,ele)
var nstr = $(ele).attr("id");
alert("id"+nstr+"截取的数字"+nstr.substr(3,nstr.length));
);
提问者评价 参考技术C name中包含aa的所有div的jquery对象
Js代码
$("div[id*='aa']");
如何根据其他列中的条件从某个 ID 中选择所有值?
【中文标题】如何根据其他列中的条件从某个 ID 中选择所有值?【英文标题】:How to select all values from some ID based on condition in other column? 【发布时间】:2022-01-17 22:10:51 【问题描述】:我得到了一个示例中的数据框,当满足条件时,我将选择所有值、所有 ID 以及来自该 ID 的所有值。在这种情况下,条件是路径必须包含"one"
。
df <- data.frame(id=c(1, 1, 1, 2, 2, 2, 3, 3, 3),
path=c("one", "two", "three", "four", "oned", "five", "six",
"seven", "eight"))
预期结果:
result <- data.frame(id=c(1, 1, 1, 2, 2, 2),
path=c("one", "two", "three", "four", "oned", "five"))
这样做最优雅的方式是什么?
【问题讨论】:
【参考方案1】:这可能不是最优雅的方式,但这是我的方法:
my_df <- data.frame(id = c(1,1,1,2,2,2,3,3,3),
path = c("one","two","three", "four", "oned", "five","six", "seven", "eight"))
my_value <- my_df %>% group_by(id) %>% mutate(Test = grepl(pattern = "one", x = path)) %>% filter(Test == TRUE)
my_var <- which(my_df$id %in% my_value$id)
if (length(my_var))
my_df <- my_df[my_var,]
【讨论】:
【参考方案2】:在ave
中使用grepl
。
df[with(df, as.logical(ave(path, id, FUN=\(x) any(grepl('one', x))))), ]
# id path
# 1 1 one
# 2 1 two
# 3 1 three
# 4 2 four
# 5 2 oned
# 6 2 five
数据:
df <- structure(list(id = c(1, 1, 1, 2, 2, 2, 3, 3, 3), path = c("one",
"two", "three", "four", "oned", "five", "six", "seven", "eight"
)), class = "data.frame", row.names = c(NA, -9L))
【讨论】:
【参考方案3】:一行代码可以是这样的:
result <- df[df$id %in% df[grepl('one',df$path),"id"],]
它只是结合了原生 [ ] 运算符和 grepl function。
【讨论】:
【参考方案4】:我们可以为此使用 dplyr。只需group_by
ID,然后使用any(str_detect('one'))
过滤组:
library(dplyr)
library(stringr)
df %>% group_by(ID) %>%
filter(any(str_detect(path, 'one')))
【讨论】:
以上是关于JS 选择所有 包含某个字符的id的主要内容,如果未能解决你的问题,请参考以下文章