我正在尝试查找消息的名称值,该消息的num值是已知的,以便可以将其和名称存储为单独的变量。例如,如果我想获取消息5的名称值,那么当我只想使用jQuery来获取消息时,就必须进入源代码才能找到它,但是我没有经验,并且已经无法找到一种方法。我想做类似的事情:
(setq org-link-abbrev-alist
`(
("orgdir" . ,(format "file:%s%%s" (file-name-as-directory org-directory)))
...
但是这种语法显然是错误的。
这是包含两个属性的div:
$("name") where $("num") = 1
如果我还不知道该如何使用jQuery获得名称?
我知道如何查找包含num = 1的元素,但仅包含整个元素。如何只提取name属性而不提取整个元素?
我知道这个问题非常基本,但是Google搜索没有给我一个很好的答案。正确的语法是什么?
答案 0 :(得分:1)
鉴于您分别指的是名称属性和值属性:
使用Jquery:
获取名称attr值:
let whatIWant = $('.msg[num="1"]').attr("name")
获取整个jquery对象:
let elem = $('.msg[num="1"][name]')
如果您需要上述jquery对象中的dom元素:
let htmlElem = elem[0]
答案 1 :(得分:1)
尝试一下:
var divName = $("[num = 1]").attr("name")
假设您要将数字1放入硬代码中,则可以按照上面的示例进行操作。现在,如果数字是通过代码填充的变量,并且被称为x,请尝试以下操作:
var divName = $("[num = " + x + "]").attr("name")
希望这就是您想要的。
答案 2 :(得分:0)
使用CSS选择器获取num
值为1的任何元素的名称属性。此特定解决方案适用于num
值为1的多个元素。
您没有指定任何元素,因此我假设您想要任何符合条件的元素:
//x is taking the place of your number (assuming it's in the code)
let x = 1
//aggregate elements into an array using spread and the CSS selector []
//which targets attributes
//use the value of X to gather the elements
let valueEls = [...$(`[num="${x}"]`)]
//initialize empty names container
let names = []
//push the name of each element into the names container
valueEls.forEach(el => names.push($(el).attr('name')))
console.log(names)