相关疑难解决方法(0)

.prop()vs .attr()

所以jQuery 1.6具有新功能prop().

$(selector).click(function(){
    //instead of:
    this.getAttribute('style');
    //do i use:
    $(this).prop('style');
    //or:
    $(this).attr('style');
})
Run Code Online (Sandbox Code Playgroud)

或者在这种情况下,他们做同样的事情?

如果我有转用prop(),所有的旧attr()电话,如果我切换到1.6将打破?

UPDATE

selector = '#id'

$(selector).click(function() {
    //instead of:
    var getAtt = this.getAttribute('style');
    //do i use:
    var thisProp = $(this).prop('style');
    //or:
    var thisAttr = $(this).attr('style');

    console.log(getAtt, thisProp, thisAttr);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<div id='id' style="color: red;background: orange;">test</div>
Run Code Online (Sandbox Code Playgroud)

(另见这个小提琴:http://jsfiddle.net/maniator/JpUF2/)

控制台会记录getAttribute作为一个字符串,并attr作为一个字符串,但prop作为一个CSSStyleDeclaration,为什么?这对我未来的编码有何影响?

javascript jquery dom prop attr

2249
推荐指数
14
解决办法
57万
查看次数

jQuery从下拉列表中获取选定的选项

通常我$("#id").val()用来返回所选选项的值,但这次它不起作用.所选标签具有IDaioConceptName

HTML代码

<label>Name</label>
<input type="text" name="name" />
<select id="aioConceptName">
    <option>choose io</option>
    <option>roma</option>
    <option>totti</option>
</select>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

1067
推荐指数
20
解决办法
137万
查看次数

jQuery Set选择索引

我有一个选择框:

<select id="selectBox">
  <option value="0">Number 0</option>
  <option value="1">Number 1</option>
  <option value="2">Number 2</option>
  <option value="3">Number 3</option>
  <option value="4">Number 4</option>
  <option value="5">Number 5</option>
  <option value="6">Number 6</option>
  <option value="7">Number 7</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我想根据它选择的索引将其中一个选项设置为"已选择".

例如,如果我尝试设置"3号",我正在尝试这样做:

$('#selectBox')[3].attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如何使用jQuery基于其索引设置选项?

谢谢!

jquery jquery-selectors

255
推荐指数
11
解决办法
54万
查看次数

使用jQuery通过文本内容选择选项

我想为使用jquery通过查询字符串传递的任何内容设置一个下拉框.

如何将选定的属性添加到选项中,使"TEXT"值等于查询字符串中的某个参数?

 $(document).ready(function() {
        var cat = $.jqURL.get('category');
        if (cat != null) {
            cat = $.URLDecode(cat);
            var $dd = $('#cbCategory');
            var $options = $('option', $dd);
            $options.each(function() {
                if ($(this).text() == cat)
                    $(this).select(); // This is where my problem is
            });
        };
    });
Run Code Online (Sandbox Code Playgroud)

jquery

76
推荐指数
3
解决办法
12万
查看次数

MVC - 设置SelectList的选定值

在没有选择值的情况下实例化后,如何设置SelectList的selectedvalue属性;

SelectList selectList = new SelectList(items, "ID", "Name");
Run Code Online (Sandbox Code Playgroud)

我需要在此阶段后设置所选值

c# asp.net-mvc

54
推荐指数
5
解决办法
18万
查看次数

jQuery:根据文本设置选择列表'selected',奇怪地失败了

我一直在使用以下代码(使用jQuery v1.4.2)根据"text"描述而不是"value"来设置选择列表的"selected"属性:

$("#my-Select option[text=" + myText +"]").attr("selected","selected") ;
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,直到我注意到一个选项列表失败,这取决于匹配的文本.经过一些拉毛后,我意识到只有在文本是一个单词的情况下才会失败(没有空格,没有非字母字符).(我以前对此代码的所有使用都适用于仅包含多字化学名称的选择列表.)

例如,在一个选择列表中,它适用于:
pharbitic acid
25-D-
spirosta -3,5-diene pogostol(#Pogostemon#)

它失败了:
葡萄糖
腺嘌呤

我试过任何方式,我可以想到用引号(单一和双)包围文本变量无济于事.(但是,当一个双字短语没有时,为什么一个单词需要引用?)

我试过在那里硬编码文本并得到相同的结果.

这有效:

$("#constituent option[text=#a#-allocryptopine]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

这有效:

$("#constituent option[text=5-O-methylrisanrinol]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

不起作用:

$("#constituent option[text=adenine]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

我试着用硬编码引号.这不起作用:

$("#constituent option[text='glucose']").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

我无法使用硬编码引号(单或双)来处理任何文本.

值得注意的是,使用'value'属性时引用是可以接受的.例如,这两个都很好:

$("#constituent option[value='3']").attr('selected', 'selected');

$("#constituent option[value=3]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

下面是一些演示此问题的代码.两个选择列表,第一个由简单的单词组成,两个单词短语中的第二个.页面加载时,它会尝试设置每个选择列表的值.jQuery代码适用于第二个列表但不适用于第一个列表.(我尝试在'猴子'中放一个空格来获得'mon key',它有效!)

下面的代码的工作演示是在这里.

我非常感谢能够洞察我在这里做错了什么.甚至是使用'text'属性的替代选择器语法.提前感谢所有有时间提供帮助的人.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

<head>

  <script type="text/javascript" src="../js/jquery/jquery.js"></script>

  <script type="text/javascript">

  $(document).ready(function(){

    var text1 = 'Monkey'; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

51
推荐指数
3
解决办法
15万
查看次数

使用jQuery在dropdownlist中设置默认值

我的下拉列表中有很多选项,例如:

<option value="1">it's me</option>
Run Code Online (Sandbox Code Playgroud)

我需要选择谁具有价值的选择是我的标签内,而不是像属性1.

我怎么能用jQuery做到这一点?

html javascript css jquery events

32
推荐指数
3
解决办法
21万
查看次数

选项:选择不工作jquery 1.9

下列:

  $("select option:contains(fish)").attr('selected', true);
Run Code Online (Sandbox Code Playgroud)

在jQuery 1.9以下的任何地方都可以使用,但在jQuery 1.9+中根本不起作用.我一直在搜索有关任何变化的任何文档,但没有找到任何内容.

知道如何让这个代码与新的jquery一起工作吗?

示例这里(默认为jQuery 1.4):http://jsfiddle.net/reigel/TZmEw/

jquery

6
推荐指数
1
解决办法
1万
查看次数

Jquery选择器 - 文本等于 - 不工作

HTML

<select id="myDDL">
    <option selected="selected" value="0">default</option>
    <option value="1">apples</option>
    <option value="2">oranges</option>
</select>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

setFieldValue("myDDL", "apples");

function setFieldValue(field, value)
{
    var val = $("#" + field + " option[text]");
    console.log(val);
    $("#" + field).val(val);
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

https://jsfiddle.net/nnvh7e43/

我想根据文本在选择字段中选择一个选项,即:

var val = $("#" + field + " option[text='" + value + "']");
Run Code Online (Sandbox Code Playgroud)

但是,只要我在选项后添加[text],选择器似乎选择整个文档,而$("#"+ field +"option"); 如我所料,只需选择选择字段中的所有选项标签即可.

你能解释一下为什么它不能识别"[text]"以及我如何纠正这个问题?

谢谢

html javascript jquery

3
推荐指数
1
解决办法
626
查看次数

如何使用jquery使用text而不是value设置SELECT控件?

我有以下HTML

<SELECT id='cars'>
   <OPTION value='1'>Car One</option>
   <OPTION value='2'>Second Car</option>
   <OPTION value='3'>Another Car</option>
</SELECT>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用以下命令将下拉控件的选定值更改为任何值:

$('#cars').val(2);   // This will make the combo text: Second Car
Run Code Online (Sandbox Code Playgroud)

但是如何使用文本而不是值来选择值?

我需要做的是:

$('#cars').val('Another Car');
Run Code Online (Sandbox Code Playgroud)

要么

$('#cars').text('Another Car');
Run Code Online (Sandbox Code Playgroud)

但那没有效果......

有帮助吗?

jquery

0
推荐指数
1
解决办法
1128
查看次数

Puppeteer:在选择器中转义方括号

我需要选择 ID 包含方括号的元素。

IE

#element[0]
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到:

错误:未能找到与选择器“element[0]”匹配的元素

我已经用 转义了选择器中的元素\,但这不起作用。

page.select("#fruit\[0\]", "apples")
Run Code Online (Sandbox Code Playgroud)

双反斜杠转义也不起作用。IE:

page.select("#fruit\\[0\\]", "apples")
Run Code Online (Sandbox Code Playgroud)

更新:我试图选择的元素:

<select id="fruit[0]">
  <option>Please make a selection</option>
  <option>apples</option>
</select>
Run Code Online (Sandbox Code Playgroud)

注意:即使我尝试在上面的查询中使用 page.waitFor 方法,我也会遇到同样的错误。

javascript google-chrome-devtools google-cloud-functions puppeteer

0
推荐指数
1
解决办法
1266
查看次数