2017.9.28 查看数据库操作记录、弹窗问题、JS选择器和JQuery选择器

分享人:蔡永坚


1. 查看数据库操作记录

SELECT 
       SUBSTRING(ST.text, ( QS.statement_start_offset / 2 ) + 1,
                  ( ( CASE statement_end_offset
                        WHEN -1 THEN DATALENGTH(st.text)
                        ELSE QS.statement_end_offset
                      END - QS.statement_start_offset ) / 2 ) + 1) AS '执行语句',
       ST.text AS '未格式化语句',
       QS.execution_count AS '执行次数',
       QS.total_elapsed_time  '总花费时间(毫秒)',
       QS.total_logical_reads AS '逻辑读取次数',
       QS.total_logical_writes AS '逻辑写入次数',
       QS.total_physical_reads AS '物理读取次数',       
       QS.creation_time AS '编译计划的时间' ,  
       last_execution_time AS '上次执行时间',
       QS.*
FROM   sys.dm_exec_query_stats QS
       CROSS APPLY 
sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE  QS.creation_time > '2017-09-27 13:33:40'
ORDER BY  QS.last_execution_time  desc
image.png

2. 弹窗问题

A页面通过AlertPage弹出高为200px的B页面,若在B页面再AlertPage出一个高为400的C页面,直接弹出的话效果如下图。

image.png

这时若我们想要打卡C时C能完全显示,不弹出C时B高度依然为200px,这时我们要在打开C时将B的高度调大,C关闭时B高度变回200px。

AlertPage('M.aspx', 'C', 450, 400);
//设置C关闭时变回200px
OpeningDialog.openingDialog.bind("close", function () {
parent.OpeningDialog.openingDialog.jiframe.parent().css("height", "200px")},this);
//打开时高度变成450px
parent.OpeningDialog.openingDialog.jiframe.parent().css("height", "450px");

效果如下图所示:

image.png

3. JS选择器

建议:JS里的代码用单引号。
好处之一:Html中用的是双引号,在JS中调用Html代码的时候可以直接复制。

  • 基本选择器

基本选择器是JQuery中最常用的选择器,也是最简单的选择器,它通过元素id、class 和标签名来查找DOM元素。这个非常重要,下面的内容都是以此为基础,逐级提高的。
1).“$(“#id”)”,获取id指定的元素,id是全局唯一的,所以它只有一个成员。
2).“$(“.class”)”,获取class指定的元素,不同的元素可以具有相同的class属性,所以它可能具有多个成员。
3).“$(“element”)”,获取element(元素名,比如div、table等)指定的元素,它可能具有多个成员。
4).“$(“*”)”,获取所有元素,相当于document。
5).“$(“selector1,selector2,…,selectorN”)”,将每个选择器匹配到的元素合并后一起返回。返回selector1匹配的集合+selector2匹配的集合+…+selectorN匹配的集合。

  • 层次选择器

什么是层次?层次就是父子关系、兄弟关系的节点。所以,层次选择器就是用来获取指定元素的父子节点、兄弟节点。
1).“$(“ancestor descendant”)”,获取ancestor元素下边的所有元素。
2).“$(“parent > child”)”,获取parent元素下边的所有子元素(只包含第一层子元素)。
3).“$(“pre + next”)”,获取紧随pre元素的后一个兄弟元素。
4).“$(“pre ~ siblings”)”,获取pre元素后边的所有兄弟元素。

  • 过滤选择器

过滤?肯定是要添加过滤条件的。通过“:”添加过滤条件,比如“$(“div:first”)”返回div元素集合的第一个div元素,first是过滤条件。
按照不同的过滤规则,过滤选择器可以分为基本过滤,内容过滤,可见性过滤,属性过滤,子元素过滤和表单对象属性过滤选择器。

1). 基本过滤选择器

a) “:first”,选取第一个元素,别忘记它也是被放在一个集合里哦!因为JQuery它是DOM对象的一个集合。如,“$("tr:first")”返回所有tr元素的第一个tr元素,它仍然被保存在集合中。
b) “:last”,选取最后一个元素。如,“$("tr:last")”返回所有tr元素的最后一个tr元素,它仍然被保存在集合中。
c) “:not(selector)”,去除所有与给定选择器匹配的元素。如,“$("input:not(:checked)")”返回所有input元素,但去除被选中的元素(单选框、多选框)。
d) “:even”,选取所有元素中偶数的元素。因为JQuery对象是一个集合,这里的偶数指的就是集合的索引,索引从0开始。
e) “:odd”,选取所有元素中奇数的元素,索引从0开始。
f) “:eq(index)”,选取指定索引的元素,索引从0开始。
g) “:gt(index)”,选取索引大于指定index的元素,索引从0开始。
h) “:lt(index)”,选取索引小于指定index的元素,索引从0开始。
i) “:header”,选取所有的标题元素,如hq、h2等。
j) “:animated”,选取当前正在执行的所有动画元素。

2). 内容过滤选择器

它是对元素和文本内容的操作。
a) “:contains(text)”,选取包含text文本内容的元素。
b) “:empty”,选取不包含子元素或者文本节点的空元素。
c) “:has(selector)”,选取含有选择器所匹配的元素的元素。
d) “:parent”,选取含有子元素或文本节点的元素。(它是一个父节点)

3). 可见性过滤选择器

根据元素的可见与不可见状态来选取元素。
“:hidden”,选取所有不可见元素。
“:visible”,选择所有可见元素。
可见选择器:hidden 不仅包含样式属性 display 为 none 的元素,也包含文本隐藏域 (<input type=“hidden”>)和 visible:hidden 之类的元素。

4).属性过滤选择器

通过元素的属性来选取相应的元素。
a) “[attribute]”,选取拥有此属性的元素。
b) “[attribute=value]”,选取指定属性值为value的所有元素。
c) “[attribute !=value]”,选取属性值不为value的所有元素。
d) “[attribute ^= value]”,选取属性值以value开始的所有元素。
e) “[attribute $= value]”,选取属性值以value结束的所有元素。
f) “[attribute *= value]”,选取属性值包含value的所有元素。
g) “[selector1] [selector2]…[selectorN]”,复合性选择器,首先经[selector1]选择返回集合A,集合A再经过[selector2]选择返回集合B,集合B再经过[selectorN]选择返回结果集合。

5). 子元素过滤选择器

一看名字便是,它是对某一元素的子元素进行选取的。
a) “:nth-child(index/even/odd)”,选取索引为index的元素、索引为偶数的元素、索引为奇数的元素。
l nth-child(even/odd):能选取每个父元素下的索引值为偶(奇)数的元素。
l nth-child(2):能选取每个父元素下的索引值为 2 的元素。
l nth-child(3n):能选取每个父元素下的索引值是 3 的倍数的元素。
l nth-child(3n + 1):能选取每个父元素下的索引值是 3n + 1的元素。
b) “:first-child”,选取第一个子元素。
c) “:last-child”,选取最后一个子元素。
d) “:only-child”,选取唯一子元素,它的父元素只有它这一个子元素。

6). 表单过滤选择器

选取表单元素的过滤选择器。
a) “:input”,选取所有<input>、<textarea>、<select >和<button>元素。
b) “:text”,选取所有的文本框元素。
c) “:password”,选取所有的密码框元素。
d) “:radio”,选取所有的单选框元素。
e) “:checkbox”,选取所有的多选框元素。
f) “:submit”,选取所有的提交按钮元素。
g) “:image”,选取所有的图像按钮元素。
h) “:reset”,选取所有重置按钮元素。
i) “:button”,选取所有按钮元素。
j) “:file”,选取所有文件上传域元素。
k) “:hidden”,选取所有不可见元素。

7).表单对象属性过滤选择器

选取表单元素属性的过滤选择器。
“:enabled”,选取所有可用元素。
“:disabled”,选取所有不可用元素。
“:checked”,选取所有被选中的元素,如单选框、复选框。
“:selected”,选取所有被选中项元素,如下拉列表框、列表框。


JQuery选择器大全

链接:jQuery选择器总结

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法

$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素
$("div") 选择所有的div标签元素,返回div元素数组
$(".myClass") 选择使用myClass类的css的所有元素
$("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass")

  • 层叠选择器:

$("form input") 选择所有的form元素中的input元素
$("#main > *") 选择id值为main的所有的子元素
$("label + input") 选择所有的label元素的下一个input元素节点,经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素
$("#prev ~ div") 同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签

  • 基本过滤选择器:

$("tr:first") 选择所有tr元素的第一个
$("tr:last") 选择所有tr元素的最后一个
$("input:not(:checked) + span")

过滤掉:checked的选择器的所有的input元素

$("tr:even") 选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)

$("tr:odd") 选择所有的tr元素的第1,3,5... ...个元素
$("td:eq(2)") 选择所有的td元素中序号为2的那个td元素
$("td:gt(4)") 选择td元素中序号大于4的所有td元素
$("td:ll(4)") 选择td元素中序号小于4的所有的td元素
$(":header")
$("div:animated")

  • 内容过滤选择器:

$("div:contains('John')") 选择所有div中含有John文本的元素
$("td:empty") 选择所有的为空(也不包括文本节点)的td元素的数组
$("div:has(p)") 选择所有含有p标签的div元素
$("td:parent") 选择所有的以td为父节点的元素数组

  • 可视化过滤选择器:

$("div:hidden") 选择所有的被hidden的div元素
$("div:visible") 选择所有的可视化的div元素
属性过滤选择器:

$("div[id]") 选择所有含有id属性的div元素
$("input[name='newsletter']") 选择所有的name属性等于'newsletter'的input元素

$("input[name!='newsletter']") 选择所有的name属性不等于'newsletter'的input元素

$("input[name^='news']") 选择所有的name属性以'news'开头的input元素
$("input[name$='news']") 选择所有的name属性以'news'结尾的input元素
$("input[name*='man']") 选择所有的name属性包含'news'的input元素

$("input[id][name$='man']") 可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素

  • 子元素过滤选择器:

$("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)")

$("div span:first-child") 返回所有的div元素的第一个子节点的数组
$("div span:last-child") 返回所有的div元素的最后一个节点的数组
$("div button:only-child") 返回所有的div中只有唯一一个子节点的所有子节点的数组

  • 表单元素选择器:

$(":input") 选择所有的表单输入元素,包括input, textarea, select 和 button

$(":text") 选择所有的text input元素
$(":password") 选择所有的password input元素
$(":radio") 选择所有的radio input元素
$(":checkbox") 选择所有的checkbox input元素
$(":submit") 选择所有的submit input元素
$(":image") 选择所有的image input元素
$(":reset") 选择所有的reset input元素
$(":button") 选择所有的button input元素
$(":file") 选择所有的file input元素
$(":hidden") 选择所有类型为hidden的input元素或表单的隐藏域

  • 表单元素过滤选择器:

$(":enabled") 选择所有的可操作的表单元素
$(":disabled") 选择所有的不可操作的表单元素
$(":checked") 选择所有的被checked的表单元素
$("select option:selected") 选择所有的select 的子元素中被selected的元素

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容

  • $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id...
    itachi阅读 267评论 0 0
  • jQuery选择器 jQuery选择器完全继承了CSS的风格。学会使用选择器是学习jQuery的基础,jQuery...
    AuthorJim阅读 492评论 0 1
  • jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择...
    web蜗牛阅读 318评论 0 0
  • 想做一份JQuery选择器的列表,po到这里可以时刻复习。就从网上找了一篇比较全的,自己进行了修订。 层叠选择器:...
    摘星_s阅读 344评论 0 3
  • jQuery 的选择器强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择i...
    _士心_阅读 260评论 0 0