3

如何使用 jQuery更改aria-selected="false"to的状态?aria-selected="true"

在这里你可以看到我是如何尝试这样做的:

$('element aria-selected').html(true)
$('element aria-selected').text(true)
$('element aria-selected').val(true)
$('element').attr('aria-selected', 'true').prop('selected', true)
$('element').attr('aria-selected', 'true')
$('element').prop('selected', true)
4

4 回答 4

5

只能prop()attr()可以将aria-selected属性设置为true

正确的代码是:

$('element').prop('aria-selected', true);

或者

$('element').attr('aria-selected', true);

有关每个属性的更多详细信息:

如果元素是 , , , 等容器divph1需要b使用ahtml html() () 方法设置或返回所选元素的内容(innerHTML)。

  • $('element aria-selected').html(true)

所以html()不会在这里工作。

如果元素是容器,如div, p, h1, b,a等,则需要使用text() 与 .html() 方法不同,.text() 可以在 XML 和 HTML 文档中使用。.text() 方法的结果是一个字符串,其中包含所有匹配元素的组合文本。

  • $('element aria-selected').text(true)

所以text()不会在这里工作。

如果元素是文本、隐藏等输入字段,则需要使用val()

  • $('element aria-selected').val(true)

所以val()不会在这里工作。

prop() 方法设置或返回所选元素的属性和值。.prop() 方法仅获取匹配集中第一个元素的属性值。它为尚未设置的属性的值返回 undefined

  • $('element').attr('aria-selected', 'true').prop('selected', true)
  • $('element').prop('selected', true)

attr() 方法设置或返回所选元素的属性和值。

  • $('element').attr('aria-selected', 'true')

所以attr()会在这里工作。

于 2018-10-19T12:01:07.230 回答
3
$('element').attr('aria-selected',true);

这将解决您的目的

于 2018-10-19T11:52:33.930 回答
1

Vanilla JavaScript 代码来解决:

var elem = document.querySelector("yourSelector");
elem.setAttribute('aria-selected', false); //If attribute is true, and false needed
elem.setAttribute('aria-selected', true); //If attribute is false, and true needed
于 2020-04-08T11:59:26.173 回答
0

以下解决方案适用于 jQuery:

$('element').prop('ariaSelected', false);
$('element').prop('ariaSelected', true);
于 2021-08-05T10:06:08.237 回答