Ticket #4555 (closed enhancement: duplicate)
load has inconsistant behavior
| Reported by: | h3 | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | 1.4 |
| Component: | ajax | Version: | 1.3.2 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Mostly every core functions can be ran without prior element verification.
So instead of;
if ($('#el').length) {
$('#el').show();
}
It's possible to just do;
$('#el').show();
We know that if "#el" is non-existent, the show method wont be called. So far so good.
But if we do this;
$('#el').load('somefile');
If #el is non-existent the Ajax request is performed anyway, thus making it mandatory to write something like this instead;
if ($('#el').length) {
$('#el').load('somefile');
}
In this regard, I think this behavior is counter intuitive and inconsistent with other functions.
There might be good reasons why one would want to perform a Ajax requests to load HTML into a non-existent element, but it's beyond my understanding.
Change History
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Hmm, seems reasonable. Note that if a callback is provided in that case, it wouldn't be called.