jQuery: Replace positional selectors at the end of multiple selectors.

A selector like `$('.elem1 .elem2:first')` selects the first descendant
with class name `.elem2` under `.elem1`. This is the same as saying
`$('.elem1 .elem2').first()`. See example here:
https://jsbin.com/bohehesari/edit?html,js,output
This commit is contained in:
Thomas Ip
2019-06-06 12:04:16 +08:00
committed by Tim Abbott
parent 6cad1988a9
commit b72f30bd06
4 changed files with 11 additions and 11 deletions

View File

@@ -5,7 +5,7 @@ common.start_and_log_in();
function then_edit_last_message() {
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.info').click();
$('.popover_edit_message').click();
});
@@ -33,7 +33,7 @@ then_edit_last_message();
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.message_edit_topic').val("edited");
msg.find('.message_edit_content').val("test edited");
msg.find('.message_edit_save').click();
@@ -60,7 +60,7 @@ then_edit_last_message();
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.message_edit_topic').val("edited");
msg.find('.message_edit_content').val("/me test edited one line with me");
msg.find('.message_edit_save').click();
@@ -84,7 +84,7 @@ then_edit_last_message();
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.message_edit_content').val("test edited pm");
msg.find('.message_edit_save').click();
});

View File

@@ -42,7 +42,7 @@ casper.then(function () {
// edit the last message just sent
casper.then(function () {
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.info').click();
$('.popover_edit_message').click();
});
@@ -53,7 +53,7 @@ var edited_value = 'admin tests: test edit';
casper.then(function () {
casper.waitUntilVisible(".message_edit_content", function () {
casper.evaluate(function (edited_value) {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.message_edit_content').val(edited_value);
msg.find('.message_edit_save').click();
}, edited_value);
@@ -130,14 +130,14 @@ casper.then(function () {
// Note that this could have a false positive, e.g. if all the messages aren't
// loaded yet. See Issue #1243
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.info').click();
});
casper.waitUntilVisible('.popover_edit_message', function () {
casper.test.assertSelectorHasText('.popover_edit_message', 'View source');
});
casper.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.info').click();
});
});

View File

@@ -15,7 +15,7 @@ casper.then(function () {
return $('#zhome .message_row').length;
});
last_message_id = this.evaluate(function () {
var msg = $('#zhome .message_row:last');
var msg = $('#zhome .message_row').last();
msg.find('.info').click();
$('.delete_message').click();
return msg.attr('id');

View File

@@ -240,9 +240,9 @@ var load = function () {
$('.carousel').on('slid', function () {
var $this = $(this);
$this.find('.visibility-control').show();
if ($this.find('.carousel-inner .item:first').hasClass('active')) {
if ($this.find('.carousel-inner .item').first().hasClass('active')) {
$this.find('.left.visibility-control').hide();
} else if ($this.find('.carousel-inner .item:last').hasClass('active')) {
} else if ($this.find('.carousel-inner .item').last().hasClass('active')) {
$this.find('.right.visibility-control').hide();
}
});