このようなアプローチは危険です。スクリプトはそれがページ内のどこにあるかに決して依存してはいけません。
言っ
、FirefoxとChromeで次のような作品とべき主要なブラウザで作業(ご自身の責任で使用)。
See it in action at jsBin.<script> ...
と<script src="...">
の両方のアプローチが同じページに示されています。 。
$(document).ready(function() {
invocationsOfThis = (typeof invocationsOfThis == 'number') ? invocationsOfThis + 1 : 1;
var scriptTags = document.getElementsByTagName ('script');
var thisScriptTag = null;
//--- Search scripts for scripts of this type.
for (var foundCnt = 0, J = 0, L = scriptTags.length; J < L; ++J)
{
/*--- Since the script can be either inline or included, search
both the script text and the script src link for our unique
identifier.
*/
var thisTag = scriptTags[J];
var scriptCode = thisTag.innerText || thisTag.textContent;
var scriptSrc = thisTag.src;
//--- IMPORTANT, change pastebin.com to the filename that you use.
if (/invocationsOfThis/i.test (scriptCode) || /pastebin.com/i.test (scriptSrc))
{
//--- Found a copy of this script; is it the right one, based on invocation cnt?
foundCnt++;
if (foundCnt == invocationsOfThis) {
thisScriptTag = thisTag;
break;
}
}
}
if (thisScriptTag) {
//--- Get the target node.
var nextForm = $(thisScriptTag).next ('form');
var nextFormId = nextForm.attr ('id');
//--- Act on the target node. Here we notify the user
nextForm.text ('This is form: "' + nextFormId + '".');
}
});
ないことは、私はこのような何かのように:$(この).closest( 'スクリプト').next( 'フォーム')IDを – Cristian
@Cristian:あなたが好きなものそれは常に最善の解決策ではないことに注意して – Ibu