所以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
,为什么?这对我未来的编码有何影响?
通常我$("#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) 我有一个选择框:
<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通过查询字符串传递的任何内容设置一个下拉框.
如何将选定的属性添加到选项中,使"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) 在没有选择值的情况下实例化后,如何设置SelectList的selectedvalue属性;
SelectList selectList = new SelectList(items, "ID", "Name");
Run Code Online (Sandbox Code Playgroud)
我需要在此阶段后设置所选值
我一直在使用以下代码(使用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) 我的下拉列表中有很多选项,例如:
<option value="1">it's me</option>
Run Code Online (Sandbox Code Playgroud)
我需要选择谁具有价值的选择是我的标签内,而不是像属性1
.
我怎么能用jQuery做到这一点?
下列:
$("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/
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
<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)
但那没有效果......
有帮助吗?
我需要选择 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