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的主要内容,如果未能解决你的问题,请参考以下文章

如果类包含某个字符串,则 div 中所有 <img> 的 jQuery 选择器

如何根据其他列中的条件从某个 ID 中选择所有值?

选择器的基本规则及使用

选择器的基本规则及使用

js 判断是不是含某字符

css选择符大全(常用总结)