PageSourceSearch

https://www.181450.com/systemdata/js/sub_custom.js?public=1&v=1789446947

js 181450.com collected 2026-09-30 18:58:36 UTC 5,401 bytes, 149 lines download raw bytes

1$(window).on('load',function(){
2    //求人一覧ページ
3    $(".mod-jobResultBox__body-In:not(:has(img))").wrap('<div class="image_none">');
4    $(".job-photo-wrap:not(:has(img))").remove();
5    
6    //電話応募→TEL応募
7    $('.mod-jobDetailBox .btn-group .btn-group__center .btn-group__left.mod-btn7, .mod-jobResultBox-wrap .mod-jobResultBox .btn-group > .btn-group__center .mod-btn7.btn-result_tel').contents().filter(function() {
8        return this.nodeType == 3
9	}).each(function(){
10        this.textContent = this.textContent.replace('電話','TEL');
11	});
12    
13    //スマホ下部固定テキスト追加
14    $('<p class="catch_txt only-sp">工場JOBからのご入職で<em>もれなくお祝い金</em>あり!</p>').prependTo('.mod-jobDetailBox .mod-jobDetailBox__container.detailContents__btn__02');
15    
16    //応募ページ会員の方はこちら
17    //$('#apply #mypage-login-line .title-header').insertBefore('#apply #mypage-login-line .widget-inner');
18    $("#apply #mypage-login-line .title-header").on("click", function() {
19      $(this).next().slideToggle();
20      $(this).toggleClass("ac");
21    });
22});
23
24//=============================
25// 求人一覧
26//=============================
27document.addEventListener("DOMContentLoaded", () => {
28    $(".mod-jobResultBox").each(function () {
29        const $jobResultBox = $(this); // .mod-jobResultBox
30
31        // タイトルタグの移動
32        //const $modH1Title = $jobResultBox.find(".mod-jobResultBox__header .mod-h1");
33        //const $jobResultBody = $jobResultBox.find(".mod-jobResultBox__body");
34
35        //if ($modH1Title.length > 0 && $jobResultBody.length > 0) {
36            //$jobResultBody.prepend($modH1Title);
37        //}
38
39        // 「アピールポイント」の抽出とリストの追加
40        let featureHtml = "";
41        const $modTable2 = $jobResultBox.find(".job-items .mod-table2"); 
42
43        $modTable2.find("th").each(function () {
44            const $targetTh = $(this); // 処理中の th
45            const thText = $targetTh.text().trim();
46
47            if (thText.startsWith("アピールポイント")) {
48            const $targetTd = $targetTh.next("td"); // thの隣にある td
49            const content = $targetTd.html() ? $targetTd.html().trim() : "";
50
51            featureHtml += `<li>${content}</li>`;
52            
53            $targetTh.closest("tr").hide();
54            }
55        });
56
57        if (featureHtml !== "") {
58            const $jobItemsWrap = $jobResultBox.find(".job-items-wrap");
59            if ($jobItemsWrap.length > 0) {
60            $jobItemsWrap.append(`<ul class="job_features">${featureHtml}</ul>`);
61            }
62        }
63    });
64});
65
66//=============================
67// 求人詳細ページ
68//=============================
69$(window).on("load", function () {
70  function initJobDetailPage() {
71    if (!$("body#detail").length) return; // bodyにid="detail"がある場合のみ実行
72
73    //=============================
74    // 募集要項からリスト生成
75    //=============================
76    const $table = $("table#w0");
77    let html = "";
78
79    const fields = [
80    { name: "給与", class: "salary" },
81    { name: "実質給与", class: "totalsalary" },
82    { name: "月収例", class: "income" },
83    { name: "勤務シフト", class: "workshift" },
84    { name: "休日", class: "dayoff" },
85    { name: "勤務地", class: "workplace" },
86    { name: "最寄り駅", class: "station" },
87    ];
88
89    fields.forEach(field => {
90        const $th = $table.find("th").filter(function() {
91            return $(this).text().trim() === field.name;
92        }).first();
93
94        if ($th.length > 0) {
95            const $td = $th.next("td");
96            const content = $td.html() ? $td.html().trim() : "";
97            
98            html += `
99            <li class="${field.class}">
100                <dl>
101                <dt>${field.name}</dt>
102                <dd>${content}</dd>
103                </dl>
104            </li>
105            `;
106        }
107    });
108
109    if (html !== "") {
110        const $BoxPrimary = $("#detail section.excerptBox-primary .mod-excerptBox__body .mod-excerptBox__excerpt");
111        $BoxPrimary.append(`<ul id="job_summary">${html}</ul>`);
112    }
113
114    //=============================
115    // アピールポイントのリスト生成
116    //============================= 
117    let featureHtml = "";
118
119    $table.find("th").each(function() {
120    const $th = $(this);
121    const thText = $th.text().trim();
122
123    //「アピールポイント」で始まる項目の抽出
124    if (thText.startsWith("アピールポイント")) {
125        const $td = $th.next("td");
126        const content = $td.html() ? $td.html().trim() : "";
127
128        featureHtml += `<li>${content}</li>`;
129        $th.closest("tr").hide(); // 該当のtrを非表示
130    }
131    });
132
133    if (featureHtml !== "") {
134        const $targetContainer = $(".mod-jobDetailBox__container.detailContents__main");
135        $targetContainer.append(`<ul class="job_features">${featureHtml}</ul>`);
136    }
137
138    // お仕事ナンバーのコピー挿入
139    const $jobTitle = $(".mod-jobDetailBox .mod-jobDetailBox__iconBox .title");
140    const $jobNumTarget = $(".flow-card .flow-list .flow-step-text .job_num");
141    
142    if ($jobTitle.length && $jobNumTarget.length) {
143      const titleText = $jobTitle.text().trim();
144      $jobNumTarget.text(titleText);
145    }    
146
147  }
148  initJobDetailPage();
149});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.